【问题标题】:xmlhttp request status 302xmlhttp请求状态302
【发布时间】:2012-03-05 18:45:47
【问题描述】:

我正在尝试编写可以测试和分析 http 请求的核心 java 脚本应用程序。我从下面的代码开始。 Firebug 网络选项卡显示 302 状态错误。

<script type="text/javascript">
$(document).ready(function(){
var req = new XMLHttpRequest();
req.open("GET","http://www.google.com",true);

req.onreadystatechange = statusListener;
req.send(null);
});
function statusListener(req){
    if (req.readyState == 4) 
        {
            if (req.status == 200) {
                var docx=req.responseXML;           
                console.log(docx);            
                }
        }
}
</script>

【问题讨论】:

  • 除了 302 表示 Found 并导致重定向到其他 URL 之外,由于跨域策略,您不会得到结果...

标签: javascript xmlhttprequest


【解决方案1】:

3xx status codes are redirections.

302 表示“找到”。引自 w3.org:

请求的资源暂时位于不同的 URI 下。由于有时可能会更改重定向,因此客户端应该继续使用 Request-URI 来处理未来的请求。

如果你想获得它重定向到的页面,你必须使用getResponseHeader()方法检查响应头中的URI。

您可以see here查看如何访问正确的URI。

【讨论】:

  • 我需要状态为 200 即 OK
  • 此请求以正确的 URL 响应请求,该请求将返回 200(它重定向到的 URI)。
  • 我想通过即 console.log(docx); 获取请求信息这不起作用
  • 是的,您必须检查响应的标题,而不是正文。您可以为此使用getResponseHeader。
  • 好的。谢谢。到目前为止,我将继续这种理解!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-03
  • 2019-06-25
相关资源
最近更新 更多