Как я могу получить тело из запроса на получение в экспресс? - PullRequest
0 голосов
/ 10 ноября 2019

Мой код возвращает неверный текст, когда я пытаюсь это сделать.

app.post("/charge", (req, res) => {
    console.log(req.body)
})

1 Ответ

1 голос
/ 10 ноября 2019

Как указано в документе для 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)
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...