我正在尝试将参数从HTML表单传递到NodeJS路由器。路由按预期工作,但我无法确定参数值。
我过去使用参数作为输入字段的值来完成此操作。但是,这次,我尝试不使用任何字段,而是将参数作为动作语句的一部分发送。
<form id="form_sidebar" action="/users/navigation?user_id=UserID" method="POST">
<button id = "btn_button" type='submit'>Button</button>
</form>
在路由器端:
router.post('/navigation', (req, res) => {
var fname = req.body['user_id']
console.log(fname)
})
我希望在控制台中打印出UserID。但是变得不确定。
任何输入将不胜感激。
答案 0 :(得分:2)
由于您将user_id作为查询参数而不是在请求正文中传递,因此,您没有访问请求的正确部分,因此Express将带有查询参数的对象序列化。 尝试通过这种方式访问参数:
router.post('/navigation', (req, res) => {
var fname = req.query.user_id
console.log(fname)
})