我尝试将一些表单数据发送到我的节点服务器,但是req.body
我的表单字段没有节点端
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)
})
在开发工具中我只看到Referer中传递的数据,也许这就是我的问题
答案 0 :(得分:52)
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);
});