Вещи изменились снова, начиная Express 4.16.0 , теперь вы можете использовать express.json()
и express.urlencoded()
, как в Express 3.0 .1009 *
Это отличается начинается Экспресс 4,0 до 4,15 :
$ 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 :
Во-первых, вам нужно добавить промежуточное программное обеспечение для анализа почтовых данных тела.
Добавьте одну или обе следующие строки кода:
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()
, поэтому лучше явно добавить поддержкудля конкретного типа (ов) кодирования вам требуется.Если вам нужно многочастное кодирование (например, для поддержки загрузки файлов), вам следует прочитать это .