Почему-то мой req.body всегда пуст, может быть, у вас есть идея:
вот мой код сервера:
const Express = require('express');
const bodyParser = require('body-parser');
const app = new Express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.post('/save', (req, res) => {
console.log(req.body) // => {}
res.send(req.body);
});
const env = process.env.NODE_ENV || 'production';
app.listen(3000, err => {
if (err) { return console.error(err); }
console.info(`Server running on http://localhost:${port} [${env}]`);
});
Когда я пытаюсь отправить данные формы с помощью javascript, req.body пуст:
const data = new FormData(document.querySelector('form'));
console.log(data); // seems empty already??? FormData{}??
const xhr = new XMLHttpRequest();
xhr.open('POST', 'http://localhost:3000/save');
xhr.send(data);
То же самое с почтальоном:
я этого не понимаю…
Отправка x-www-form-urlencoded
с почтальоном или raw (application/json)
работает в почтальоне. Но отправка тех же заголовков с Formdata в javascript все равно приведет к пустому объекту…
body-parser
не поддерживает данные формы, вам нуженmulter
или что-то подобное. - person robertklep   schedule 01.07.2017