NodeJS从HTML表单传递参数

时间:2019-06-13 13:26:29

标签: html node.js forms express post

我正在尝试将参数从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。但是变得不确定。

任何输入将不胜感激。

1 个答案:

答案 0 :(得分:2)

由于您将user_id作为查询参数而不是在请求正文中传递,因此,您没有访问请求的正确部分,因此Express将带有查询参数的对象序列化。 尝试通过这种方式访问​​参数:

router.post('/navigation', (req, res) => {
    var fname =  req.query.user_id
    console.log(fname)
})