使用express与bodyParser.json()

时间:2015-08-13 19:38:57

标签: node.js express body-parser

我正在尝试使用('request')向快速服务器发送帖子请求,但似乎无法获得req.body:

var app = express();
app.use( bodyParser.json() );
app.post( '/push', function(req, res){
  console.log('body', req.body);
  res.sendStatus(200).end();
} );
app.use( handle404 );

并提出请求:

var request = require('request');
request.post(serverURL + '/push', data, function(err, res, body){
      if(err){
        throw err;
      }
      assert.ok(res.statusCode, 404);
      done();
    });

req.body记录未定义,我做错了什么?

1 个答案:

答案 0 :(得分:1)

由于您正在尝试解析JSON,因此您需要确保发布JSON。对于“请求”,一种直接的方法是使用json属性来包含您要发布的内容:

request.post(serverURL + '/push', {json: data}, function(err, res, body){
  // process result
});

注意: 您可以使用始终使用JSON传输请求正文的request-json