2015-09-21 35 views
0

我想將錯誤消息發送回客戶端,而不將它們添加到URL。這是我的嘗試:快速回復當地人消失

exports.register = function(req, res) { 
    if (req.body.password != req.body.password_repeat) { 
     res.locals.err = 'Passwords must match.'; 
     res.locals.action = 'register'; 
     res.redirect('/'); 
     return; 
    } 
... 

exports.index = function(req, res) { 
    req.url = '/'; 
    res.render('index', { 
     action: res.locals.action, 
     error: res.locals.error, 
     redirect: res.locals.redirect 
    }); 
}; 

所以重定向工作正常並且exports.index執行。問題是res.locals消失了。這是因爲一旦我重定向它被認爲是一個新的需求/資源週期?無論如何,我可以通過這個信息,通過重定向沒有做這樣res.redirect('/?error=error')

+0

你在找什麼是閃存消息,請在SO上試試這個問題:http://stackoverflow.com/questions/23160743/how-to-send-flash-messages-in-express-4-0 – victorkohl

回答

0

東西,你可以使用flash包從expressjs,但你需要有session中間件來使用它。此外,您可以使用express-flash包中的RGBboy,但在這種情況下,您需要同時具有cookieParsersession中間件。