在EJS文件中传递-express-flash-messages-

时间:2017-03-29 14:52:37

标签: express ejs

我是一个具有基本身份验证逻辑的用户控制器。我正在使用ejs视图引擎。我在我的视图中发现访问这些Flash消息时遇到问题,即.ejs文件。什么是正确的方法。我挖掘了一些信息,发现我们可以在parameters期间通过res.redirect。但是,我不想这样做,因为它会出现在网址中。有没有解决方案,比如pug引擎有什么。

 if (!user || !user.authenticate(req.body.password)) {
  req.flash('error', 'Invalid email or password!')
  res.redirect('/login')

  return
 }

1 个答案:

答案 0 :(得分:0)

您可以使用 res.locals 对象将Flash消息传递给您的观看次数:

app.get('/login', function(req, res) {
  res.render('login', { errorMessage: req.flash('error')[0] });
});

然后在你看来:

<% if (errorMessage) { %>
  <div class="error">
    <p><%= errorMessage %></p> <!-- Invalid email or password! -->
  </div>
<% } %>