others - node.js - 在NodeJS express中;可以从表单中获取表单属性吗?

node -v v10.15.0

在下面的例子中,我想访问窗体名为form1,我已经查看了req对象,但是找不到对已提交表单的描述。

如何获取表单属性,如名称,方法和操作? 我是否需要在构建的主体解析器中做一些事情?

例子为:


<form method='post' name='form1'>


 <input type='submit'>


</form>



在node express方面,我有以下代码:


app.post('/', function(req, res, next)


{


 console.log(req.body);


 process.exit(1);


});



控制台显示{}

时间:

如何获取表单属性,如名称,方法和操作? 我是否需要在构建的主体解析器中做一些事情?

不用,只用包含表单元素中的数据,表单中的数据将自动发送,不发送父form元素(如nameaction )的属性。

通常在form中使用一个技巧,插入要发送到服务器的隐藏元素到表单中(用户看不见),然后服务器就可以像其他表单元素一样访问数据,当表单最初设计时,可以填充这些元素,或者在表单提交之前,使用Javascript在时候动态填充这些元素。

例如:


 <form method='post' name='form1' action="/form1Submit">


 <input type="hidden" name="action" value="post">


 <input type="hidden" name="formName" value="form1">


 Enter your data here: <input name="data">


 <input type='submit'>


 </form>



假设你已经正确配置了body解析器中间件,那么在提交此表单时,将能够在express服务器中访问req.body.action和req.body.formName和req.body.data 。

...