将表单信息发送到服务器的最佳实践
best practise to send form information to server
我很难深入了解 POST 方法 - 我的老师设置了一个服务器,但它似乎不接受我的数据发送通过。以下是发送带有文本类型的我的 2 个输入的可接受方式吗?还是有另一种标准化的方式来做到这一点?
为了示例,我的输入字段是名字和姓氏。没什么疯狂的。
document.getElementById("myForm").addEventListener("submit", async (e) => {
e.preventDefault();
await fetch("http://localhost:3000/course/add", {
method: "POST",
headers: {
"Content-Type": "multipart/form-data",
},
body: new FormData(e.target),
})
.then((confirm) => confirm.json())
.catch((err) => err)
.then(
(response) =>
(document.getElementById("container").innerHTML = response.message)
);
});
如果不知道 API 实现,很难说为什么它不起作用。一些调试指南:
- 在 F12 中检查您的网络选项卡。请求是否触发(如果没有,问题可能出在元素选择器或事件监听器上)?它会挂起(服务器端问题可能与数据输入、路由或内部行为有关)还是会生成响应(如果是,响应是什么)? POST 响应代码和正文是什么?
- 检查您在本地 运行 的 API。您应该期望您的老师构建(至少是一些基本的)登录到服务器,以便在那里可以看到任何错误。
- 同时检查 F12 中的控制台。任何问题都应该在那里可见。
- 更一般地说,您似乎是在用 vanilla JavaScript 编写前端。如今,使用 React、Vue、Angular 或 Svelte 等框架编写前端很常见;香草 JS 越来越不常见。为了进一步学习,也可以看看这些框架。
我很难深入了解 POST 方法 - 我的老师设置了一个服务器,但它似乎不接受我的数据发送通过。以下是发送带有文本类型的我的 2 个输入的可接受方式吗?还是有另一种标准化的方式来做到这一点?
为了示例,我的输入字段是名字和姓氏。没什么疯狂的。
document.getElementById("myForm").addEventListener("submit", async (e) => {
e.preventDefault();
await fetch("http://localhost:3000/course/add", {
method: "POST",
headers: {
"Content-Type": "multipart/form-data",
},
body: new FormData(e.target),
})
.then((confirm) => confirm.json())
.catch((err) => err)
.then(
(response) =>
(document.getElementById("container").innerHTML = response.message)
);
});
如果不知道 API 实现,很难说为什么它不起作用。一些调试指南:
- 在 F12 中检查您的网络选项卡。请求是否触发(如果没有,问题可能出在元素选择器或事件监听器上)?它会挂起(服务器端问题可能与数据输入、路由或内部行为有关)还是会生成响应(如果是,响应是什么)? POST 响应代码和正文是什么?
- 检查您在本地 运行 的 API。您应该期望您的老师构建(至少是一些基本的)登录到服务器,以便在那里可以看到任何错误。
- 同时检查 F12 中的控制台。任何问题都应该在那里可见。
- 更一般地说,您似乎是在用 vanilla JavaScript 编写前端。如今,使用 React、Vue、Angular 或 Svelte 等框架编写前端很常见;香草 JS 越来越不常见。为了进一步学习,也可以看看这些框架。