nodejs请求模块解析体

时间:2012-11-05 10:32:10

标签: node.js request

我有以下代码:

var express = require('express');
var app = express.createServer();
var request = require('request');

app.use(myMiddleware);
app.listen(5010);

var payload = { id: 1 };

request({
  method: 'POST',
  body:JSON.stringify(payload),
  url: 'http://localhost:5000'
}, function(err, res, body) {
  console.info("Request Done");
})

在我的中间件代码中,我想解析正文并提取请求ID,但由于某种原因,以下代码无法正常工作(有效负载未定义):

  var myMiddleware= function (req, res, next){
  var payload = req.body;
  if (payload.id === 1) console.info("first request!!!!!");
  next();
} 

当我尝试打印"有效载荷"我得到的只是[object Object]

您能否告诉我如何提取id,以及如何打印有效负载对象的属性?

谢谢, 李

1 个答案:

答案 0 :(得分:3)

通过添加:

解决
app.use(express.bodyParser());

并在请求代码中添加以下内容:

json: true

添加json = true属性后,我还从请求的主体中删除了JSON.stringify(...)(现在我不需要对主体进行字符串化,因为它需要一个json对象)

感谢。