1. ホーム
  2. node.js

[解決済み】Express.js req.bodyが未定義です。

2022-02-08 12:26:38

質問

私のExpressサーバーの構成は以下の通りです。

app.use(app.router); 
app.use(express.cookieParser());
app.use(express.session({ secret: "keyboard cat" }));
app.set('view engine', 'ejs');
app.set("view options", { layout: true });
//Handles post requests
app.use(express.bodyParser());
//Handles put requests
app.use(express.methodOverride());

しかし、それでも私が依頼すると req.body.something というエラーが表示されます。 body is undefined . を使用したルートの例を示します。 req.body :

app.post('/admin', function(req, res){
    console.log(req.body.name);
});

この問題の原因は app.use(express.bodyParser()); が、ご覧の通り、ルートの前に呼んでいます。

何か手がかりはありますか?

解決方法は?

すでにコメントで投稿されているように、私は以下の方法で解決しました。

app.use(require('connect').bodyParser());

ではなく

app.use(express.bodyParser());

なぜ、単純な express.bodyParser() がうまくいかない...。