gpt4 book ai didi

javascript - 在 fetch api 中使用 FormData() 不起作用

转载 作者:行者123 更新时间:2023-12-02 16:36:29 24 4
gpt4 key购买 nike

我通读了一遍,但找不到答案。

当我使用 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);
});

我已经尝试使用 URLSearchParams,但仍然无法正常工作。

谢谢。

最佳答案

如果您不发送 json,则不应将 Content-Type header 设置为 application/json。根据this回答,您不需要设置 Content-Type header 。

body data type must match "Content-Type" header

Using Fetch

关于javascript - 在 fetch api 中使用 FormData() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62644988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com