物事は持っています Express 4.16.0以降、再び変更され、Express 3.0express.json()
とexpress.urlencoded()
同様に使用できるようになりました。
これはだっ異なる開始4.15へのエクスプレス4.0:
$ npm install --save body-parser
その後:
var bodyParser = require('body-parser')
app.use( bodyParser.json() ); // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({ // to support URL-encoded bodies
extended: true
}));
残りはExpress 3.0と同じです。
まず、本文の投稿データを解析するミドルウェアを追加する必要があります。
次のコード行の1つまたは両方を追加します。
app.use(express.json()); // to support JSON-encoded bodies
app.use(express.urlencoded()); // to support URL-encoded bodies
次に、ハンドラーでreq.body
オブジェクトを使用します。
// assuming POST: name=foo&color=red <-- URL encoding
//
// or POST: {"name":"foo","color":"red"} <-- JSON encoding
app.post('/test-page', function(req, res) {
var name = req.body.name,
color = req.body.color;
// ...
});
の使用express.bodyParser()
は推奨されないことに注意してください。
app.use(express.bodyParser());
...と同等です:
app.use(express.json());
app.use(express.urlencoded());
app.use(express.multipart());
にはセキュリティ上の懸念があるexpress.multipart()
ため、必要な特定のエンコーディングタイプのサポートを明示的に追加することをお勧めします。(たとえば、ファイルのアップロードをサポートするために)マルチパートエンコーディングが必要な場合は、これをお読みください。
bodyParser()
ここの回答から使用しているすべての人は、以下の