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.body
nesneyi 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