Node.js 如何处理express 4中的FormData

Node.js 如何处理express 4中的FormData,node.js,express,express-4,Node.js,Express,Express 4,我尝试向我的节点服务器发送一些表单数据,但是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

我尝试向我的节点服务器发送一些表单数据,但是
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中传递的数据,这可能是我的问题


Referer:

正文解析器
不处理多部分正文,这就是
表单数据
的提交方式

相反,请使用类似的模块

例如,要检索请求的(常规)字段,请执行以下操作:

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);
});

正文解析器
不处理多部分请求正文,请尝试类似的操作。@robertklep我明白了,谢谢,可以将其添加到应答中。如果我只是将数据添加到JSON中,可能会更简单?令我惊讶的是,我可以将FormData传递给fetch,并将其作为multipart.thx发送,知道任何util都可以获取表单数据并将其作为JSON对象返回(用于文本输入等)用于通过发送urlencoded@SuperUberDuper您可能需要使用类似于从表单内容构建JS对象的东西。在这里的场景后面会发生什么情况
upload.fields([])
?如果无法实现这一点,请尝试
upload.any()
,而不是
upload.fields([])
。你可能最终会想知道你想在数组中放入哪些字段规范,但是
any
是一个很好的开始。在花了我一整天的时间查看了100个解决方案,但没有任何效果之后,他终于帮我省了一天的时间,非常感谢。