如何使用车把获取 Flash 消息?

Posted

技术标签:

【中文标题】如何使用车把获取 Flash 消息?【英文标题】:How to get flash messages working with handlebars? 【发布时间】:2017-06-30 03:47:09 【问题描述】:

我正在尝试让 flash 与我的车把模板一起使用,但它不起作用。如何显示消息

if (!user) return done(null, false, message: 'No user found')

return done(null, false, message: '哎呀!密码错误。')

在警告框中?

已安装的软件包:express、connect-flash、express-handlebars、passport、passport-local、express-session、connect-mongo

app.use(flash())

passport.use(new LocalStrategy(function(username, password, done) 
  User.findOne( username: username , function(err, user) 
    if (err) return done(err)
      if (!user) return done(null, false,  message: 'No user found')
        user.comparePassword(password, function(err, isMatch) 
          if (isMatch) 
            return done(null, user)
           else 
            return done(null, false,  message: 'Oops! Wrong password.')
          
        )
    )
))

app.post('/login', passport.authenticate('local', 
    successRedirect: '/',
    failureRedirect: '/login',
    failureFlash: true
))

车把模板:

#if message
<div class="alert alert-danger">message</div>
/if

【问题讨论】:

【参考方案1】:
app.get('/login', function(req, res) 
    res.locals.message = req.flash('message');
    res.render('login');
);

【讨论】:

以上是关于如何使用车把获取 Flash 消息?的主要内容,如果未能解决你的问题,请参考以下文章

当用户在输入字段中输入数据时,如何从车把页面获取 jquery 中的输入文本值?

如何使用 express 安装车把助手

如何使用引导程序显示我的 Flash 消息?

如何在车把文件中打印“body”元素?

Octobercms:如何翻译Flash消息?

如何在流星的车把助手中使用多个参数?