一尘不染

XMLHttpRequest状态为0(responseText为空)

javascript

无法使用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。


阅读 935

收藏
2020-05-05

共1个答案

一尘不染

当通过文件方案在浏览器中打开包含脚本的html文件时,状态为0。确保将文件放在服务器(apache或tomcat等)中,然后通过浏览器中的http协议将其打开。(即http://localhost/myfile.html)这是解决方案。

2020-05-05