我尝试将一些表单数据发送到我的节点服务器,但是req.body在节点侧没有任何表单字段
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中传递的数据,也许那是我的问题
引荐来源:http:// localhost:3000 /?name =&budget =%C2%A31000
body-parser不处理多部分主体,即FormData提交内容。
body-parser
FormData
相反,请使用类似的模块multer。
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); });