Express JS 模块解析来自 Postman 的表单数据文本

问题描述 投票:0回答:2

Postman Screen Shot

我只有 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);
}
express multipartform-data multer body-parser formidable
2个回答
5
投票

这个答案提供了 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。


0
投票

使用 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', ...)
© www.soinside.com 2019 - 2024. All rights reserved.