Node.js表示:混淆路由器中间件

时间:2012-07-27 10:12:00

标签: node.js post router

如果没有路由器中间件,一旦服务器端收到发布数据,就可以正常登录:

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并且没有响应

为什么呢?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

问题在于您调用路由器

的顺序 必须在路由器

之前调用 bodyParser
app.configure(function () {
  app.use(express.static(__dirname + '/static'));
  app.use(express.bodyParser());
  app.use(app.router);
});