重定向ajax处理页面

时间:2011-08-26 16:44:21

标签: php jquery ajax redirect login

我有一个页面检查用户是否登录,如果用户不登录,则使用jQuery ajax调用php处理页面来获取信息。但要获取信息,它必须重定向到位于不同服务器上的“登录站点”,然后“登录站点”然后将登录信息POST回到php页面,并且php页面将原始数据转换为某些内容第一页可以理解。

至少那是假设发生的事情。

实际发生的是,一旦php处理页面重定向,我就会收到302错误。我已经尝试进入没有ajax调用的php页面,它工作正常,重定向到'登录站点'并接受回发。

我无法删除ajax调用,只是将反弹编码到第一页,因为页面是html,不幸的是它必须保持这种状态,并且html页面不喜欢POST并且崩溃。

以下是带有ajax调用的代码......

if (Login == null) {
    $.get("some_php_page.php", {  }, function(data) {
        if (data == "") {

        } else {
        //set login cookie;
        }
    });
}

下面是php处理页面......

if ($RefererServer != LoginServer) {
    header( "Location: LoginServer/verify.php");
} else {
    // send login information back
}

有人有任何想法吗?

1 个答案:

答案 0 :(得分:0)

  • 在服务器端,您应该返回一个json:

    {"成功:错误,"重定向":http://redirecturl.com}

  • 在客户端,重定向由js

    完成
    $.ajax({
        // ....
        success: function(response){
            window.location = response.redirect;
        }
    });