重定向时读取XMLHttpRequest.status时出现问题

时间:2010-02-27 05:23:37

标签: javascript jquery redirect

我正在请求$ .ajax的东西,我在通话后获得302或200状态。 我希望在状态为200时向DOM中插入一些内容,并在返回状态为302时进行实际重定向。

为此我正在使用:(在这里从不同的线程中获取该片段)

complete: function (XMLHttpRequest, textStatus) {
    alert(XMLHttpRequest.status);

    if(XMLHttpRequest.status === 302) {
        //if it wants to redirect
        window.location = XMLHttpRequest.getResponseHeader("Location");
    }
}

当POST状态返回200时,一切都很完美。

问题是,当我获得302状态(我可以看到我得到firebug)时,firebug告诉我,在第一个帖子之后有一个名为immedidiately的GET请求,我收到警告“200”即使初始POST有302状态。是否正常,在返回staus 302的POST后有一个GET短路,如果是,为什么我明显得到那个GET的状态而不是POST?

1 个答案:

答案 0 :(得分:2)

这很正常。没有办法检测302状态。浏览器首先重定向,然后您获得一些状态,但它不是您请求的页面状态。