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 в теле. Я надеюсь, что это когда-нибудь поможет кому-то, поэтому они избегают вырвать столько волос, сколько я сделал:)