2013-05-14 83 views
3

我想實現一個非常基本的錯誤消息,我試圖建立一個登錄頁面。發佈請求的代碼如下。node.js連接閃光消息不顯示

app.post('/login',function(req,res){ 
    User.findOne({username:req.body.user.username},function(err,info){ 
    if(err){ 
    req.flash('error','There was an error on our end. Sorry about that.'); 
    res.redirect('/'); 
    } 

    if(info==null){ 
    req.flash('error', 'Incorrect Username. Please try again, or make an account'); 
    res.redirect('/login'); 
    } 
    else{ 
    if(req.body.user.password==info.password){ 
     res.redirect('/users/' + info.username); 
    } 
    else{ 
     req.flash('error', 'Incorrect Password'); 
     res.redirect('/login'); 
    } 
    } 
}); 
}); 

雖然重定向確實發生,但我從未看到錯誤消息,當我觸發空情況時。 我的路線get方法如下:

app.get('/login',function(req,res){ 
    res.render('login',{ 
    title: 'Login' 
    }); 
}); 

回答

4

您需要閃光燈的消息傳遞到您的模板,自己有使它們:如果您使用EJS模板

app.get('/login',function(req,res){ 
    res.render('login',{ 
    title : 'Login', 
    errors : req.flash('error') 
    }); 
}); 

(例如),您檢查是否errors包含一個值,並顯示它:

<% if (errors) { %> 
    <p class="error"><%= errors %></p> 
<% } %>