如何将链接传递给express.js中的req.flash()

时间:2018-03-30 12:28:56

标签: javascript node.js express connect-flash

我一直试图找出一种在我的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
})

1 个答案:

答案 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>
<% } %>