Node.js Реагирует на извлечение узла из пустого сообщения

Я пытаюсь сделать простой пост из Reactjs на сервер node.js, используя node-fetch; однако тело моего запроса всегда пусто (я не смог придумать какую-либо конфигурацию, которая приводит к непустому телу). Я читал, казалось бы, каждый вопрос stackOverflow об этом, и, к сожалению, ни один из них не решает мое затруднительное положение. Вот мой код реагирования:

fetch('http://localhost:3000/sayhello/', {headers: new Headers({
            'Content-Type': 'application/json'
        }), method: 'POST', body: {"nose":"bop"} })
        .then(function(res) {
            return res.json();
        }).then(function(json) {
            console.log(json);
        });

И мой server.js: ... импортировать BodyParser из 'body-parser';

app.use(BodyParser.urlencoded({extended : true}));
app.use(BodyParser.json());
app.post('/sayhello/', function(req, res) {
  console.log(req.body);
  res.send(req.body);
});

Консоль всегда дает пустое тело, и ответ всегда неопределен. Это также происходит, когда вместо JSON я просто публикую строку как тело. Есть идеи?

Спасибо

1 ответ

Решение

Не волнуйтесь, друзья, кажется, я понял это. Мне не хватало JSON.stringify в теле. Я надеюсь, что это когда-нибудь поможет кому-то, поэтому они избегают вырвать столько волос, сколько я сделал:)

Другие вопросы по тегам