在get
部分,我对console.log()进行了评论。因此,我在屏幕上收到相应的消息。但如果我取消注释它,我会在控制台中收到这样的消息[message]
,但没有消息输出到屏幕上。这是为什么?我可以在路由处理程序中没有req.flash('error')
吗?
app.get("/login", function(req, res){
// console.log(req.flash("error"))
res.render('login', { message: req.flash('error') });
})
app.post("/login", function(req, res, next){
console.log("posted")
passport.authenticate("local",{
successRedirect : "/users/" + req.body.username,
failureRedirect : "/login",
failureFlash : true
})(req, res, next)
} )
即时使用var flash = require("connect-flash");
答案 0 :(得分:1)
当connect-flash
包状态(link)时,消息在使用后被清除,因此当您控制日志(并使用它)时,它被清除,当您在路由/中间件中再次调用它时,它已经是空。
编辑:如果你想再使用一个flash消息,那么也许可以将它存储在一些局部变量中,然后将console.log同时用于响应,但这只是一个猜测。我现在没有设置环境来检查它。