使用node/express的req.body中的html多部分/表单数据错误
我正在使用node、express和html,我正在尝试使用html表单向服务器端发布一个。 问题是我得到{}作为我的req.body 我的html表单如下所示:使用node/express的req.body中的html多部分/表单数据错误,html,node.js,forms,express,Html,Node.js,Forms,Express,我正在使用node、express和html,我正在尝试使用html表单向服务器端发布一个。 问题是我得到{}作为我的req.body 我的html表单如下所示: <form method = 'post' action='get_name' enctype="multipart/form-data"> <input type="text" name="form_name"><br> <input type="submit
<form method = 'post' action='get_name' enctype="multipart/form-data">
<input type="text" name="form_name"><br>
<input type="submit" value="Upload name">
</form>
我的app.post如下所示:
app.post('/get_name',function(req, res, next){
console.log("the name of the form is : ", req.body);
res.redirect('/admin');
});
当我试图获取req.body.form_名称时,我没有定义。我无法找出我的代码有什么问题。欢迎提出任何建议。:) 试试这个:
app.post('/get_name',function(req, res, next){
console.log("to name of the form is : ", req.param('form_name'));
res.redirect('/admin');
});
如果您打算使用巴士男孩,您应该遵循以下文档: 否则,bodyParser()不支持多部分表单数据。我个人推荐这个库,因为它简单:
这将按照您打算使用的方式填充req.body。将连接多方模块用于多部分/表单数据,并将其添加到API路由的中间件中
let multipart = require('connect-multiparty');
let multipartMiddleware = multipart();
router.route('/customer').post(validate(validations.customerValidation.registerCustomer),multipartMiddleware,CONTROLLER.CustomerBaseController.registerCustomer);
它在我这边起作用。可能值得
console.log()
将您的req.params
放在另一个console.log
之上,看看您是否能在其中找到正确的信息。由于bodyParser()不支持多部分表单数据,如果您想填充req.body,请尝试使用此库:。。我个人使用它胜过其他选项,因为它很简单
let multipart = require('connect-multiparty');
let multipartMiddleware = multipart();
router.route('/customer').post(validate(validations.customerValidation.registerCustomer),multipartMiddleware,CONTROLLER.CustomerBaseController.registerCustomer);