我有代码,
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
var PORT = 8080;
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json({type: 'application/*+json'}));
app.post('/', function (req, res) {
if (!req.body) return res.sendStatus(400);
console.log(req.body);
res.send(200, 'welcome, ' + req.body.name)
});
app.listen(PORT, function () {
console.log("Server listening on: http://localhost:" + PORT);
});
当我发送一些数据到这条路线“/”就像POST请求一样,body总是{}清楚,我正在使用body-parser,extended:true和false,但没有任何改变。
测试。 我发送了这个数组:
{"name": "Petro"}
和req.body应该是相同的数组,但我得到{},
res.send(200, 'welcome, ' + req.body.name) //welcome, undefined
我想解决它。对于POST req我正在使用RestMan(PostMan),并在react.js中使用isomorphic-fetch,因此存在同样的问题。
答案 0 :(得分:0)
您可能已经尝试过此操作...设置bodyParser.urlencoded({ extended: true })
并确保在邮递员中选择x-www-form-urlencoded
。或者选择raw
作为正文类型,在Postman中为内容键入JSON对象并完全省略bodyParser.urlencoded({ extended: true })
。