Segala sesuatu telah berubah sekali lagi mulai Express 4.16.0 , sekarang Anda dapat menggunakan express.json()
dan express.urlencoded()
seperti di Express 3.0 .
Ini berbeda mulai Express 4.0 hingga 4.15 :
$ npm install --save body-parser
lalu:
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
}));
Sisanya seperti di Express 3.0 :
Pertama, Anda perlu menambahkan beberapa middleware untuk mem-parsing data postingan tubuh.
Tambahkan satu atau kedua baris kode berikut:
app.use(express.json()); // to support JSON-encoded bodies
app.use(express.urlencoded()); // to support URL-encoded bodies
Kemudian, di handler Anda, gunakan req.body
objek:
// 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;
// ...
});
Perhatikan bahwa penggunaan express.bodyParser()
tidak dianjurkan.
app.use(express.bodyParser());
... setara dengan:
app.use(express.json());
app.use(express.urlencoded());
app.use(express.multipart());
Masalah keamanan ada bersama express.multipart()
, dan karena itu lebih baik menambahkan secara eksplisit untuk jenis pengkodean spesifik yang Anda butuhkan. Jika Anda memerlukan pengkodean multi bagian (untuk mendukung mengunggah file misalnya) maka Anda harus membaca ini .
bodyParser()
dari jawaban di sini juga harus membaca jawaban @SeanLynch di bawah ini