Тело Ax ios после запроса - это просто пустой объект на стороне сервера (React - Ax ios - Node.js - Express) - PullRequest
0 голосов
/ 06 февраля 2020

Я пытался отправить запрос на сообщение на свой сервер и использовал это:

let dataToReturn = {
      method: "POST",
      url: "http://localhost:9000/logData",
      headers: { "testing" : "IT WORKED" },
      body: {"hola" : 'testing to see if this counts'}
    }

axios(dataToReturn) 

Он знал, что отправит. Я проверил вкладку сети в Инспекторе и увидел, что она была отправлена, и мог сделать req.headers на сервере, и он распечатал бы заголовки. Но всякий раз, когда я пытался зарегистрировать req.body на сервере, он просто выводил '{}'

  var body = {
      firstName: 'testName',
      lastName: 'testLastName'
  };

  axios.post('http://localhost:9000/logData', body)
    .then(function (response) {
      console.log(response);
    })
    .catch(function (error) {
      console.log(error);
    });

. Это работает ^^ и успешно распечатывает тело, когда я выполняю 'req.body'. Почему В верхнем примере записывается пустой объект?

Вот как выглядел маршрут на стороне сервера

app.post('/logData', function(req, res) {
    console.log('recieved post');
    console.log(req.body);
    res.sendStatus(200);
})

Я признаю, что я нуб, и это может быть глупым вопросом, прошу прощения за мое невежество. Также рады опубликовать больше информации, если вам это нужно.

1 Ответ

0 голосов
/ 06 февраля 2020

Вам необходимо добавить тип содержимого в заголовок вашего запроса. Измените свой заголовок, как указано ниже

headers: {"testing": "IT WORKED", "Content-Type": "application / json "},

...