1

我正在尝试重定向成功注册。我拼凑了这个基本代码来测试原理:

app.post('/register', function(req, res, next) {
User.findOne({ username: req.body.username }, function (err, user) {
    if (err) { return done(err); }
    if (user) {
        res.send(400);
    } else {
        var newUser = new User({ username: req.body.username, password: passwordHash.generate(req.body.password)});
        newUser.save();
        req.logIn(newUser, function(err) {
            if (err) return next(err);
            return res.redirect('/my-events');
        })
    }
});
});

但是,当此触发时,我的浏览器会看到 302,然后是 /my-events 端点提供的页面的成功 GET ......但没有重定向。

怎么了?当浏览器加载端点时,使用 res.redirect 有效,但由于 $.post 的结果,它似乎不起作用。

4

1 回答 1

1

您提到您$.post用于发送数据。如果是这种情况,那么服务器将无法重定向到实际页面。您需要做的是像这样在 post 函数的回调函数中自己手动重定向页面。

 $.post('your endpoint',function(){

    window.location = 'page to redirect to';

 });

这应该这样做。

于 2013-05-31T11:14:11.010 回答