Пустой 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, время: 08:06. |