[英]Error for variable in a *.ejs file
我在這里遵循此指南: https : //www.danielgynn.com/build-an-authentication-app-using-express-node-passport/ ,除進入登錄屏幕時,一切正常這個錯誤:
..... 7 | >> 8 | <%if(message!= null){%> 9 | <%=消息%> 10 | <%}%> 11 | 消息未定義
完整錯誤的圖片: http : //imgur.com/a/hlChC
我相信這里是在login.ejs文件中引用此代碼行的地方:
<% if (message != null) { %>
<div class="alert-danger"><%= message %></div>
<% } %>
問題是我看不出代碼有什么問題? “注冊”頁面完全相同。 無論如何,如果登錄錯誤,它應該只顯示一條消息。 我覺得這是標准的代碼行,首先不應該出錯?
如果我發表評論,那行很好。
相關代碼的其他一些部分:
//index.js (router)
router.get('/login', function(req, res, next) {
res.render('login.ejs', { messag: req.flash('loginMessage') });
});
router.get('/logout', function(req, res) {
req.logout();
res.redirect('/');
});
router.post('/signup', passport.authenticate('local-signup', {
successRedirect: '/profile',
failureRedirect: '/signup',
failureFlash: true,
}));
router.post('/login', passport.authenticate('local-login', {
successRedirect: '/profile',
failureRedirect: '/login',
failureFlash: true,
}));
最后是我的password.js文件: http : //pastebin.com/swXJMPzi
似乎唯一出現的是在我的password.js文件中,注冊頁面的req.flash消息是“ signupMessage”,而在index.js中,登錄和注冊的變量都是“ loginMessage”。 但是注冊工作正常。.顯示錯誤顯示正常..登錄只是無法正常顯示。
這讓我發瘋了大聲笑任何幫助表示贊賞
您有錯字:
res.render('login.ejs', { messag: req.flash('loginMessage') });
messag
應該是message
:
res.render('login.ejs', { message: req.flash('loginMessage') });
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.