【问题标题】:Pass -express-flash-messages- in an EJS file在 EJS 文件中传递 -express-flash-messages-
【发布时间】:2017-08-23 03:35:07
【问题描述】:

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

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

  return
 }

【问题讨论】:

    标签: express ejs


    【解决方案1】:

    您可以使用 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>
    <% } %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-06
      • 1970-01-01
      • 1970-01-01
      • 2021-05-16
      • 1970-01-01
      • 2019-10-28
      • 1970-01-01
      相关资源
      最近更新 更多