表达反应当地人消失

时间:2015-09-21 00:33:20

标签: node.js express

我想将错误消息发送回客户端而不将其添加到网址。这是我的尝试:

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已经消失了。这是因为一旦我重定向它被认为是一个新的req / res循环?我可以通过重定向传递此信息,而无需执行res.redirect('/?error=error')

之类的操作

1 个答案:

答案 0 :(得分:0)

您可以使用flash中的expressjs包,但您需要unwrap_or个中间件才能使用它。此外,您可以使用express-flash中的RGBboy包,但在这种情况下您需要同时拥有sessioncookieParser个中间件。