2

如果没有路由器中间件,服务器端一旦收到 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并且没有响应

为什么?我怎么解决这个问题?

4

1 回答 1

2

问题是您调用路由器的顺序

bodyParser必须在路由器之前调用

app.configure(function () {
  app.use(express.static(__dirname + '/static'));
  app.use(express.bodyParser());
  app.use(app.router);
});
于 2012-07-27T10:29:42.557 回答