0

我正在使用 connect-flash 来传递 flash 消息。在我的控制器中,我使用以下代码if (!req.user) { req.flash("error_msg", "User not found !!"); return res.redirect(307, '/'); }

在我看来,我尝试过

{{ 错误信息 }}

{{ req.flash('error_message') }}

{{ req.flash.get('error_message') }}

但这些都不起作用。当前解析 nunjucks 中的 flash 消息的语法是什么?

4

3 回答 3

0

首先,您必须安装“express-flash”并将以下代码放入 app.js

应用程序.js

const flash = require('express-flash');

当您想传递消息时,在您的控制器中输入以下代码

req.flash('error_msg', "User not found !!");
        return res.redirect(307, '/');

将以下代码放入您要显示消息的视图文件中

<% if (typeof messages.error_msg !='undefined') { %>
        <p class="error"><%= messages.error_msg %></p>
    <% } %>
于 2018-10-29T13:19:36.877 回答
0

如果您使用 express js 和 nunjucks 作为模板,这就是我所做的

在 app.js 中

const flash = require('express-flash');
app.use(flash());

在路线/控制器代码中


try {
        await User.deleteOne({_id:req.params._id}).exec()   
        req.flash("success_msg", "User deleted");           
        return res.redirect('/admin/users') 
}

在布局或视图文件中


 {% if messages.success_msg  %}
          <div class="alert alert-success" role="alert">
            {{ messages.success_msg }}
          </div>
        {% endif %} 
于 2021-05-15T09:15:00.627 回答
0

对于面临相同问题的任何人,您可以使用访问变量{{ req.session.flash.error_msg }}

于 2018-10-30T06:52:31.390 回答