Javascript 在POST Express中使用隐藏输入

Javascript 在POST Express中使用隐藏输入,javascript,node.js,express,handlebars.js,Javascript,Node.js,Express,Handlebars.js,我需要使用get以前的数据向express控制器发送帖子 我有一封电子邮件正在发送一个重置密码链接。用户单击链接,看起来像example.com/User/reset/[reset token] 用户输入新密码,然后发布更新数据库的请求 但我似乎无法将重置令牌与请求一起发布 这在我的GET控制器中 res.render('resetPassword'); req.body['hiddenToken'] = req.params.token; // User Reset GET Route -&

我需要使用get以前的数据向express控制器发送帖子

我有一封电子邮件正在发送一个重置密码链接。用户单击链接,看起来像
example.com/User/reset/[reset token]

用户输入新密码,然后发布更新数据库的请求

但我似乎无法将重置令牌与请求一起发布

这在我的GET控制器中

res.render('resetPassword');
req.body['hiddenToken'] = req.params.token;
// User Reset GET Route -> verifies token, adds a hidden elm to page, posts data
router.get('/reset/:token', (req, res) => {
    PasswordToken.findOne({token: req.params.token})
        .then(token => {
            if (!token) {
                res.render('resetPassword');
                req.body['hiddenToken'] = req.params.token;

            }
            else {
                req.flash('error_msg', 'Token not Found, Try Submitting Again');
                res.redirect('/user/login')
            }
        })
});
但在我的POST控制器中,我似乎无法访问
req.body.hiddenToken

隐藏输入的我的把手代码

获取控制器

res.render('resetPassword');
req.body['hiddenToken'] = req.params.token;
// User Reset GET Route -> verifies token, adds a hidden elm to page, posts data
router.get('/reset/:token', (req, res) => {
    PasswordToken.findOne({token: req.params.token})
        .then(token => {
            if (!token) {
                res.render('resetPassword');
                req.body['hiddenToken'] = req.params.token;

            }
            else {
                req.flash('error_msg', 'Token not Found, Try Submitting Again');
                res.redirect('/user/login')
            }
        })
});
在POST中,
console.log(请求主体)返回

{ hiddenToken: '',
  password: '123456789',
  passwordConf: '123456789' 
}

也许在车把中有一种方法可以将参数注入
标记?

req.body上设置属性
在路由中没有多大意义, 因为它将在之后丢失(请求结束)。正如您所说,您可以将令牌传递给车把:

     res.render('resetPassword', { token: req.params.token });
然后在把手内部,将其添加为输入值:

 <input type="hidden" class="form-control" name="hiddenToken" value="{{token}}">


现在令牌被发送到HTML内部的客户端,然后当用户发送表单时,令牌将作为POST请求数据的一部分被发送回

你能显示完整的GET请求代码吗?@Jonaswillms刚刚做了!作为旁注,如果令牌确实存在,则显示未找到令牌。非常感谢您的帮助!我很感激。我是个新来表达的人,所以我什么都不知道。