Javascript bodyParser的问题w/JSON
我通过fetchapi在React组件中发送数据,并将结果作为JSON返回。在我的Express服务器上发布时,我使用bodyParser中的jsonParser方法解析数据,但在insead中,我只返回一个空对象。我不明白jsonParser的问题是什么,因为如果我使用textParser,我的数据可以很好地发送 编辑:当在服务器上打印请求(req)时,它显示正文中没有收到任何内容。但这只发生在jsonParser上,而不是textParser上 获取:Javascript bodyParser的问题w/JSON,javascript,json,express,fetch-api,body-parser,Javascript,Json,Express,Fetch Api,Body Parser,我通过fetchapi在React组件中发送数据,并将结果作为JSON返回。在我的Express服务器上发布时,我使用bodyParser中的jsonParser方法解析数据,但在insead中,我只返回一个空对象。我不明白jsonParser的问题是什么,因为如果我使用textParser,我的数据可以很好地发送 编辑:当在服务器上打印请求(req)时,它显示正文中没有收到任何内容。但这只发生在jsonParser上,而不是textParser上 获取: fetch('./test',{
fetch('./test',{
method: 'POST',
body: ["{'name':'Justin'}"]
})
.then((result) => {
return result.json();
})
.then((response) => {
console.log(response);
})
.catch(function(error){
//window.location = "./logout";
console.log(error);
});
快递:
app.use('/test', jsonParser, (req,res) =>{
res.json(req.body);
})
假设您想发布
{name:'Justin'}
对象,您将需要
fetch('test', {
method: 'POST',
body: JSON.stringify({name: 'Justin'}),
headers: new Headers({
'Content-Type': 'application/json; charset=utf-8'
})
})
body
参数不接受数组(您正在传递的数组)
如果您确实想发布一个数组,只需将
body
值更改为
JSON.stringify([{name: 'Justin'}])