我在這裏按照本指南:https://www.danielgynn.com/build-an-authentication-app-using-express-node-passport/,一切工作正常,除了當我去到登錄界面我得到這個錯誤:全誤差在* .ejs文件變量
..... 7| >> 8| <% if (message != null) { %> 9| <%= message %> 10| <% } %> 11| message is not defined
我相信這是指在login.ejs這行代碼文件的位置:
<% if (message != null) { %>
<div class="alert-danger"><%= message %></div>
<% } %>
的事情是我沒有看到有什麼proble米與代碼?註冊頁面完全相同。如果登錄錯誤,它應該只顯示一條消息。我覺得這就是這樣一個標準的代碼行,不應該首先出錯。
如果我評論這些線條,它工作正常。
的相關代碼一些其他部分:
//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,
}));
,最後我passport.js文件位置:http://pastebin.com/swXJMPzi
似乎關閉的唯一的事情是,在我的passport.js文件,是REQ我的註冊頁面的.flash消息是「signupMessage」,但是在我的index.js中,變量是登錄和註冊的「loginMessage」。但註冊工作正常..顯示錯誤絕對罰款..登錄只是不會正確顯示從開始。
這是推動我堅果笑任何幫助表示讚賞