我只有 3 个变量,并使用邮递员进行发帖来切断。
我需要一个解决方案来解析 Express JS 中的表单数据文本
当我在网上搜索时,我看到人们只是建议, 我们不能使用 body-parser 来处理表单数据,需要使用 multer、busboy、multiparty
人们还建议如果不发送文件不需要使用 multer 和强大的。
但是谁能解释一下如何在 Node js 中使用它。当我看到模块 github 时,我无法理解如何使用它来满足我的需求。
https://stackoverflow.com/a/36199881/5078763
我知道在邮递员中设置 x-www-form-urlencoded 选项是有效的,但我需要表单数据
app.post('/addUsrForm', addUsrFnc);
function addUsrFnc(req, res)
{
console.log("Data Received : ");
var namUserVar =
{
nameKey: req.body.nameKey,
mailKey: req.body.mailKey,
mobileKey: req.body.mobileKey
};
console.log(NquUsrJsnObjVar);
}
这个答案提供了 html
form
编码不同用例的详细信息。 enctype='multipart/form-data' 是什么意思?
x-www-form-urlencoded 是默认值。 multipart/form-data 用于发送较大的数据,例如整个文件。
除了 Postman 设置之外,如果您的服务器需要处理多部分/表单数据,请安装
multer
并像这样使用它...
如果只是以多部分/表单数据编码发送文本字段:
var multer = require('multer')
var multParse = multer()
...
function handler(req, res) {
// fields will be parsed in req.body
}
...
app.post('/', multParse.none(), handler)
如果您实际上要发送文件而不仅仅是文本字段,请遵循 multer github 页面上的
multer
api。
使用 body-parser 中间件帮助解决了我的问题。您需要解析为 json 并将 urlencoded 设置为 Extended: true。 ` const bodyParser = require('body-parser)
const bodyParser = require('body-parser)
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true});
app.post('/addUserForm', ...)