我有以下代码:
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,以及如何打印有效负载对象的属性?
谢谢, 李
答案 0 :(得分:3)
通过添加:
解决app.use(express.bodyParser());
并在请求代码中添加以下内容:
json: true
添加json = true属性后,我还从请求的主体中删除了JSON.stringify(...)(现在我不需要对主体进行字符串化,因为它需要一个json对象)
感谢。