2

ルーターミドルウェアがない場合、サーバー側が投稿データを受信すると、通常どおりログに記録できます。

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 に答える