我正在从客户端请求包含对象的发送响应,但是在后端,当我console.log(req.body)时,服务器将其显示为空白对象。
这几乎是我过去所做的示例中的复制粘贴,它发送并请求将对象发布到数据库。
这是我拥有的:
这是在“ api.js”中
end
“数据”是我要发送的对象,在这里我用console.log(data)来确保其不为空或不为空。
这将发送到我的/ getnums路由,该路由会将其发送到后端的post方法:
_translateButton = Tween<double>(
begin: _fabHeight,
end: -14.0,
).animate(CurvedAnimation(
parent: _animationController,
curve: Interval(
0.0,
0.75,
curve: _curve,
),
));
在这里,console.log(req.body)显示在终端“ {}”
我已经尝试将body更改为body:数据而不是对其进行字符串化。
查看我的猫鼬模式后,现在出现此错误:
var postBaseNums = data => {
console.log(data)
fetch('/getnums', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(res => res.send())
}
这是有道理的,因为body是一个空对象。尽管我觉得它应该是一个字符串,因为在api.js中我有:body:JSON.stringify(data)
那我在做什么错了?
答案 0 :(得分:0)
假设您使用express
作为服务器或类似服务器
安装主体解析器
npm install --save body-parser
添加中间件
//Add this where you initialize the server app
var bodyParser = require('body-parser')
app.use( bodyParser.json() )
//Your req.body is now parsed
postNums: (req, res, next) => {
console.log(req.body)
//...stuff
}