2012-03-05 125 views
0

我正在尝试编写可以测试和分析http请求的核心Java脚本应用程序。我从下面的代码开始。 Firebug net选项卡显示302状态错误。xmlhttp请求状态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> 
+0

除了'302'意味着'Found'并导致重定向到其他URL,由于跨域策略,您将无法获得结果... – 2012-03-05 10:21:00

回答

1

3xx status codes are redirections

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

请求的资源暂时驻留在不同的URI下。由于重定向有时可能会发生变化,因此客户端应该继续使用Request-URI来处理将来的请求。

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

您可以通过see here了解如何访问正确的URI。

+0

我需要状态为200,即确定 – 2012-03-05 10:29:49

+0

此请求以请求返回200的正确URL(它重定向到的URI)。 – 2012-03-05 10:30:50

+0

我希望通过console.log(docx)获取请求信息;这是行不通的 – 2012-03-05 10:42:29