2

我有以下代码:

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,以及如何打印有效负载对象的属性吗?

谢谢,李

4

1 回答 1

3

通过添加解决:

app.use(express.bodyParser());

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

json: true

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

谢谢。

于 2012-11-07T10:40:37.903 回答