在HTTP中有两种POST数据的方式:application/x-www-form-urlencoded和multipart/form-data.据我所知,大多数浏览器只能在使用时上传文件multipart/form-data.在API上下文中使用其中一种编码类型时是否有任何其他指导(不涉及浏览器)?这可能基于:
到目前为止,我基本上没有在网上找到有关使用不同内容类型的正式指导.
如果我有这样的形式:
<form action="/Car/Edit/17" id="myForm" method="post" name="myForm"> ... </form>
Run Code Online (Sandbox Code Playgroud)
如何在不通过JavaScript/Jquery重定向到另一个视图的情况下提交它?我从StackOverflow中读到了很多答案,但所有答案都将我重定向到POST函数返回的视图.
我通读了一遍,但找不到答案。
当我使用 FormData() 时,它返回状态 404 错误请求。
但是,如果我像 const requestBody 中那样传递数据(硬编码)(下面的示例),它就可以完美工作。
这是我的代码:
var formData = new FormData();
formData.append("nickname", "johxns");
formData.append("password", "john_password");
formData.append("email", "john@server.com");
// If I do it this way, and assign this to body inside fetch, it works perfectly
// const requestBody = '{"nickname": "johxns","password":"john_password","email":"john@server.com"}';
fetch("http://localhost:5000/create_user", {
// if instead of formData, I assign requestBody to body, it works!
body: formData,
headers: {
"Content-Type": "application/json"
},
method: "POST"
}).then(function(response) {
return response.text();
}).then(function(data){
console.log('data', data);
}).catch(function(err){
console.err(err);
});
Run Code Online (Sandbox Code Playgroud)
我已经尝试过 URLSearchParams,但仍然无法使其工作。 …
javascript ×2
fetch ×1
form-data ×1
forms ×1
html ×1
http ×1
http-headers ×1
jquery ×1
post ×1