无法使用XMLHttpRequest获取数据(状态0,responseText为空):
xmlhttp = new XMLHttpRequest(); xmlhttp.open(“ GET”,“ http://www.w3schools.com/XML/cd_catalog.xml”,true); xmlhttp.onreadystatechange = function() { if(xmlhttp.readyState == 4) alert(“ status” + xmlhttp.status); } xmlhttp.send();
它警告“状态0”。
与localhost请求的情况相同(cd_catalog.xml保存为本地文件)
xmlhttp.open(“ GET”,“ http://localhost/cd_catalog.xml”,true);
但是使用本地主机IP请求
xmlhttp.open(“ GET”,“ http://127.0.0.1/cd_catalog.xml”,true);
并与本地文件请求
xmlhttp.open(“ GET”,“ cd_catalog.xml”,true);
一切正常(状态200)
什么会导致在线请求出现问题(状态= 0)?
PS:Live HTTP标头显示在所有4种情况下一切正常:
HTTP/1.1 200 OK Content-Length: 4742
PS2:VMWare上的Apache本地Web服务器(主机操作系统Win7,来宾操作系统Ubuntu,网络适配器– NAT)。浏览器– Firefox。
当通过文件方案在浏览器中打开包含脚本的html文件时,状态为0。确保将文件放在服务器(apache或tomcat等)中,然后通过浏览器中的http协议将其打开。(即http://localhost/myfile.html)这是解决方案。