Как указано в документе для req.body :
req.body
содержит пары ключ-значение данных, представленных в теле запроса. По умолчанию он не определен и заполняется при использовании промежуточного программного обеспечения для разбора тела, такого как express.json()
или express.urlencoded()
.
В следующем примере показано, как использовать промежуточное программное обеспечение для разбора тела для заполнения req.body.
По умолчанию тело запроса еще не прочитано из входящего потока и, следовательно, оно еще не проанализировано в req.body
. Чтобы прочитать и проанализировать req.body
, вам нужно использовать какое-то подходящее промежуточное программное обеспечение, которое сделает это за вас (или вы можете сделать это вручную, но обычно проще использовать предварительно написанное промежуточное ПО, которое выполнит эту работу за вас).
Какое промежуточное программное обеспечение использовать, зависит от типа данных в теле (urlEncoded data, JSON data или что-то еще).
Вот пример из документа:
var express = require('express')
var app = express()
app.use(express.json()) // for parsing application/json
app.use(express.urlencoded({ extended: true })) // for parsing application/x-www-form-urlencoded
app.post('/profile', function (req, res, next) {
console.log(req.body)
res.json(req.body)
})