[英]Express + bodyParser.json() + Postman, req.body is empty
使用以下内容时:
var app = require('express')();
var bodyParser = require('body-parser');
app.post('/test', bodyParser.json(), function(req, res) {
res.json(req.body);
});
var port = 4040;
app.listen(port, function() {
console.log('server up and running at port: %s', port);
});
以及Postman的以下帖子:
我得到一个空洞的回应。 我在使用bodyParser.json()时遵循了很多线程,由于某种原因,我仍然收到一个空对象作为响应。 我想念什么?
为了使bodyParser.json
工作,您应该在请求中提供Content-Type
标头,其值为application/json
。
使用body-parser的一种更安全的方法是将其用作整个应用程序的中间件。 必须以这种方式重构代码:
// Permit the app to parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }));
// Use body-parser as middleware for the app.
app.use(bodyParser.json());
app.post('/test', function(req, res) {
res.json(req.body);
});
在Postman上进行请求时,请确保选择x-www-form-urlencoded
标签,而不要选择raw
标签。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.