PHP- Ajax和重定向

aWe*_*per 1 php ajax

我在页面上发生了一个jquery Ajax请求.在php方面,我正在检查会话是否处于活动状态并执行某些操作.如果会话未激活,我想将用户重定向到php中的另一个页面(标题重定向).我该怎么做.

我知道如何在javascript中实现它(即如果session_fail然后更改window.location但是我可以在php/cakephp中做些什么

Que*_*tin 6

重定向只说"你要求的数据可以在这里找到".

HTTP没有办法说"即使您要求资源进入页面,您应该离开该页面并转到其他地方".

您需要返回JavaScript理解为"转到其他位置"的响应并在您自己的代码中处理它.


Nev*_*kes 5

如果我明白你想要发生什么,那么这就是我实现它的方式。它是在 Prototype 中而不是 jQuery 中,但你应该不会花很长时间来翻译:

new Ajax.Request('process.php', {
    on401: function(response) {
        var redirect = response.getHeader('Location');
        document.location = redirect;
    }
});
Run Code Online (Sandbox Code Playgroud)

在 PHP 中,如果会话处于非活动状态,则输出以下内容:

header('Location: http://example.com/login.php', true, 401);
exit;
Run Code Online (Sandbox Code Playgroud)