Пустой req.body с подключенным bodyParser
Здравствуйте.
У меня возникла проблема когда в req.body не передаётся информация (он банально пустой), при учёте что bodyParser подключен и активен. Код клиента:
formLogin.onsubmit = async function(e) {
e.preventDefault();
const data = {
name: "foo",
surname:"boo"
}
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
}
await fetch('/post', options).then((e)=>{
alert(JSON.stringify(e));
})
}
Код сервера:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
app.post(/post, (req, res)=>{
res.json(req.body);
})
Подскажите, в чём может быть проблема? |
Посмотрите, какие типы данных поддерживает опция init.body (тут learn.javascript.ru или тут MDN) и что вы туда передаете.
Цитата:
|
Цитата:
body: JSON.stringify(data) |
Цитата:
|
Тоже самое и с ответом
.then((e)=>{
alert(JSON.stringify(e));
})
e - это объект Response. Что бы получить из него данные, нужно использовать соответствующие методы: e.text() e.json() e.blob() https://developer.mozilla.org/ru/docs/Web/API/Response |
Цитата:
const res = await fetch('/post', options)
alert(await res.text())
|
| Часовой пояс GMT +3, время: 13:11. |