簡體   English   中英

* .ejs文件中的變量錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM