没有路由器中间件,服务器端一旦收到post数据,就可以正常记录:
var express = require('express');
var app = express.createServer();
app.configure(function () {
app.use(express.static(__dirname + '/static'));
// app.use(app.router);
app.use(express.bodyParser());
})
app.get('/', function(req, res){
res.send('Hello World');
});
app.post('/', function(req, res){
console.log('body:', req.body);
res.send(req.body);
});
app.listen(8000);
但是一旦我使用router
中间件,日志结果是undefined
并且没有任何响应
最佳答案
问题出在你调用router的顺序
bodyParser 必须在 router 之前调用
app.configure(function () {
app.use(express.static(__dirname + '/static'));
app.use(express.bodyParser());
app.use(app.router);
});
关于Node.js express : confuse about router middleware,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11685750/