Как обращаться с FormData из express 4
Я попытался отправить некоторые данные формы на мой сервер node, но req.body
не имеет ни одного из моих полей формы node side
var express = require('express')
var app = express()
var path = require('path')
var bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({
extended: true
}));
app.get('/', function (req, res) {
res.sendFile('index.html')
})
app.post('/sendmail', function (req, res) {
const formData = req.body.formData
это то, что я отправляю из браузера
fetch('/send', {
method: 'POST',
body: new FormData(form)
})
в инструментах dev Я вижу только данные, переданные в Referer, возможно, это моя проблема
Referer: http://localhost:3000/?name=&budget=%C2%A31000
Ответы
Ответ 1
body-parser
не обрабатывает многокомпонентные тела, то есть то, что представляет собой FormData
.
Вместо этого используйте такой модуль, как multer
.
Например, чтобы получить (обычные) поля запроса:
const multer = require('multer');
const upload = multer();
app.post('/send', upload.none(), (req, res) => {
const formData = req.body;
console.log('form data', formData);
res.sendStatus(200);
});