我一直试图找出一种在我的js文件中传递req.flash()中的链接的方法,而不是在html模板中实际执行此操作,因为我在其他html页面中使用警报消息作为部分,我希望传递重新发送验证链接,有没有办法绕过这个,或者我真的需要创建另一个req.flash进行验证
a[2]
验证路线是我希望在req.flash中传递的链接('错误')
app.use(function(req,res,next){
res.locals.error = req.flash("error");
res.locals.success = req.flash("success")
next();
})
router.get("/verification", function(req,res){
verification coding stuff here
})
答案 0 :(得分:2)
以下内容适合您。
控制器::
router.get('/verify/:token', function(req,res){
User.findOne({ verificationToken: req.params.token, resetPasswordExpires: { $gt: Date.now()}}, function(err, user){
if(err){
console.log(err);
//here is where i wish to pass in the link for verification link//
var link = '/verification/';
var message = 'Mail verify token is invalid or has expired, <a href="'+ link +'"> Click here to resend the link</a>.'
req.flash('error',message)
return res.redirect('/forgot')
} else {
user.active = "true"
user.save()
console.log(user.active);
req.flash('success', 'Your mail have been verified successfully')
res.redirect('/login');
}
})
})
<强>模板强>
而不是使用<%= message %>
使用此。 <%- message %>
<% if(error && error.length > 0) { %>
<div class="alert alert-danger alert-dismissible deposit-alert" role="alert">
<div class="container">
<%- message %>
</div>
</div>
<% } %>