Node.js 响应对象未定义,属于post方法函数

Node.js 响应对象未定义,属于post方法函数,node.js,Node.js,这是一个简单的演示,发出http post请求并尝试日志请求对象 var express = require('express') var bodyParser = require('body-parser') var app = express() var router = express.Router(); app.use(router) app.use(bodyParser.json()) foo=(req, res)=>{ console.log(req.body)

这是一个简单的演示,发出http post请求并尝试日志请求对象

var express = require('express')
var bodyParser = require('body-parser')

var app = express()
var router = express.Router();
app.use(router)
app.use(bodyParser.json())

foo=(req, res)=>{
    console.log(req.body)
    res.send('Request Handled Here!')
}
router.route('/').post(foo)

app.listen(3300, '127.0.0.1', (req, res)=>{
    console.log("Express listening!!!!")
});
我可以看到数据“Request Handled Here”消息,但返回数据总是在控制台中未定义,我无法理解为什么“req”对象未定义

编辑:我正在使用postman测试api,内容类型:application/json,在Body部分有{message:“helloworld!”}虚拟数据


Edited2:看来我唯一的问题是请求上下文中没有“body”属性,它检索所有的req头,但我只想获取发布的数据,网络上的许多示例都包含req.body部分,这有什么问题?

中间件声明顺序中的问题<代码>路由器必须添加在
正文解析器
之后:

var app = express()
var router = express.Router();
app.use(bodyParser.json());
app.use(router);

你确定你正在发送
POST
请求,并且
内容类型是
applications/json
?@alexmac是的,我非常确定并更新了关于itI的帖子。如果你愿意参加选举,我很乐意投你一票,谢谢