【发布时间】:2020-09-20 16:54:56
【问题描述】:
我正在为已登录的用户构建一个重新发送验证电子邮件按钮。 我的计划是让用户点击个人资料页面上的按钮,它会直接将电子邮件发送到用户的电子邮件地址。
单击按钮时,我似乎无法将用户数据发送到后端代码。
当我检查路线设置中的req.params.id 时,我得到了undefined。
这是我的路线:
//route for requsting verification email
router.post("/verify", middleware.isLoggedIn, async(req, res) => {
console.log(req.params.id);
})
这里是 ejs/html:
<form action="/verify" method="POST">
<input type="submit" class="btn btn-success btn-sm" value="Verify">
</form>
我认为我的 html 代码需要一些 onClick 事件来显式地将用户的 id 发送到服务器代码,以便找到正确的用户。但是,我不知道如何做到这一点。提前感谢您的帮助!
更新
感谢@Mizibi 帮助我了解req.params 和req.body 之间的区别。
所以我所做的就是以这样的形式添加另一个隐藏的输入标签:
<form action="/verify" method="POST">
<input type="hidden" name="id" value="<%= currentUser.id %>" >
<input type="submit" class="btn btn-success btn-sm" value="Verify">
</form>
我把后端req.params.id改成req.body.id,这样会将currentUser的id传给后端代码,用于查找用户并进行操作。
【问题讨论】:
标签: javascript html node.js express