2

我正在尝试让 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}}
4

1 回答 1

3
app.get('/login', function(req, res) {
    res.locals.message = req.flash('message');
    res.render('login');
});
于 2017-02-12T06:25:39.460 回答