Yapılacaklar gelmiş değişti yeniden başlıyor kez Express 4.16.0 , artık kullanabilirsiniz express.json()ve express.urlencoded()sadece olduğu gibi Express 3.0 .
Bu oldu , farklı başlangıç 4,15 için Express 4.0 :
$ npm install --save body-parser
ve sonra:
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
}));
Gerisi Express 3.0'daki gibidir :
Öncelikle, vücudun posta verilerini ayrıştırmak için bazı ara katmanlar eklemeniz gerekir.
Aşağıdaki kod satırlarından birini veya her ikisini ekleyin:
app.use(express.json()); // to support JSON-encoded bodies
app.use(express.urlencoded()); // to support URL-encoded bodies
Ardından, işleyicinizde req.bodynesneyi kullanın :
// 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;
// ...
});
Kullanılması express.bodyParser()tavsiye edilmez.
app.use(express.bodyParser());
... şuna eşittir:
app.use(express.json());
app.use(express.urlencoded());
app.use(express.multipart());
Güvenlikle ilgili endişeler mevcuttur express.multipart()ve bu nedenle, gereksinim duyduğunuz belirli kodlama türleri için açıkça destek eklemek daha iyidir. Çok parçalı kodlamaya ihtiyacınız varsa (örneğin dosya yüklemeyi desteklemek için) bunu okumalısınız .
bodyParser()Buradaki yanıtları kullanan herkes aşağıdaki