我试图让 Flash 与我的 Handlebars 模板一起工作,但它不起作用。如何显示消息
if (!user) return done(null, false, { message: 'No user found'})
和
return done(null, false, { message: 'Oops! Wrong password.'})
在警告框中?
已安装的软件包: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
}))
Handlebars 模板:
{{#if message}}
<div class="alert alert-danger">{{message}}</div>
{{/if}}
最佳答案
app.get('/login', function(req, res) {
res.locals.message = req.flash('message');
res.render('login');
});
关于javascript - 如何让 flash 消息与 Handlebars 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42182357/