gpt4 book ai didi

javascript - 无法对 api 进行 POST,使用 fetch 时出现错误 400

转载 作者:行者123 更新时间:2023-11-30 15:22:17 24 4
gpt4 key购买 nike

fetch('/auth/signup', {
method: 'POST',
body: this.state.user,
headers: {
'Content-Type': 'application/json'
},
})
.then(function(response) {
return response.json();
})
.then(data => {
console.log(data);
})

this.state.user 基本上是一个像 {user: {name:"someone"} 这样的对象,我的服务器端代码就是这样做的

router.post('/signup', (req, res, next) => {
console.log(req.body) // empty object
}

我认为 fetch 有问题,没有看到网络选项卡中传递的任何数据。

最佳答案

body 或使用 FormData 设置之前,将 this.state.user 传递给 JSON.stringify()POST 键值对。 body 不期望 javascript 对象。

body: JSON.stringify(this.state.user)

let fd = new FormData();
let {user} = this.state.user;
for (let prop in user) {
fd.append(prop, JSON.stringify(user[prop]));
}

body: fd

关于javascript - 无法对 api 进行 POST,使用 fetch 时出现错误 400,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43554888/

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