我检查了这个question,但由于某些原因,给出的解决方案对我不起作用。在我的express.js中,我有:
...
bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
...
使用POSTman运行测试
app.post('/upload', function(req, res) {
console.log(req.body) // undefined
console.log(req.params) // undefined
})
结果:
所以身体和身体都是参数是空的。有什么建议吗?
答案 0 :(得分:0)
您提供的链接中的解决方案不起作用的原因是因为body-parser
的该版本已过期且不再包含form-data
解析(并且它曾经与之捆绑在一起)表达)。
话虽如此,根据您的屏幕截图,您似乎正在向服务器发送类型为multipart/form-data
的数据(您可以在请求标头中进行检查),而您的代码示例仅显示处理{的中间件{1}}和urlencoded
数据类型。
您需要添加处理该数据类型的中间件。最新的身体解析器说(https://github.com/expressjs/body-parser):
由于它们复杂而且不能处理多部分主体 通常是大自然。对于多部分机构,您可能感兴趣 以下模块:
请查看以上解析器之一。我使用json
,效果很好。