Node.js的flash消息不会显示在页面上
代码运行时没有得到我的服务器terminal上的任何错误,但我无法在网页上获得Flash按摩。 这是我的完整代码:
passport.js :
if(user) { return done(null, false, req.flash('emailmessage', 'That email is already taken') ); } else { var userPassword = generateHash(password); var data = { email:email, password:userPassword }; }
auth.js :
app.get('/signup', authController.signup,function (req, res, next) { res.render('signup',{message: req.flash('emailmessage')}) }); app.post('/signup', passport.authenticate('local-signup', { successRedirect: '/dashboard', failureRedirect: '/signup', failureFlash : true }));
mysignup.hbs :
{{emailmessage}} <div id="frmCheckUsername"> <form id="signup" name="signup" method="post" action="/signup"> <p><label for="email">Email Address</label> <input class="text" name="email" type="email" id="email" required class="demoInputBox" onBlur="checkAvailability()"/><span id="user-availability-status"></span></p> <p><label for="password">Password</label> <input name="password" type="password" required/></p> <input class="btn" name="signbtn" type="submit" id="signbtn" value="Sign Up" /> </form> <span id="signspano" ></span> </div>
你的代码使用message
作为variables:
res.render('signup',{message: req.flash('emailmessage')})
但是你的模板使用emailmessage
:
{{emailmessage}}