当前位置: 首页 > 面试题库 >

XMLHttpRequest状态为0(responseText为空)

伯向晨
2023-03-14
问题内容

无法使用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)这是解决方案。



 类似资料:
  • 问题内容: 我写了一个XMLHttpRequest,它可以正常运行,但是返回一个空的responseText。 javascript如下: 代码运行正常。我可以遍历,得到readyState == 4和status == 200,但是responseText始终为空。 我收到错误调度:getProperties的日志错误(在Safari调试中),我似乎找不到对其的引用。 我已经在本地和远程服务器上

  • 问题内容: 我正在尝试构建一个脚本,该脚本将充当本机对象的代理/包装器,使我能够对其进行拦截,修改responseText并返回到原始的onreadystatechange事件。 如果应用正在尝试接收的数据在本地存储中已经存在,则上下文将中止并将本地存储的数据传递回应用成功/失败回调方法。假设我无法控制应用程序现有的AJAX回调方法。 我最初尝试过以下想法。 但是正如我现在确定的那样,respon

  • 问题内容: 对于一个项目,我正在研究各种HTML5和Javascript元素以及它们周围的安全性,而我现在正努力使自己了解CORS。 根据我的测试,如果我删除.. ..从试图访问的页面,我在Chrome的控制台日志中看到以下内容: 我知道这是正确的,但是Wireshark在返回中显示HTTP / 1.1 200 OK,并且在数据中显示了所请求页面的源。因此,即使实际上已传输响应的浏览器和Javas

  • 当我打印响应文本(使用alert)时,它会打印包含所有HTML信息的消息。实际消息以粗体突出显示 响应消息 HTML>标题>标题>Apache Tomcat/5.0.28-错误报告/标题>样式>!--{font-family:Tahoma,Arial,Sans-serif;color:white;background-color:#525d76;font-size:22px;}H2{font-fa

  • 问题内容: 我在这我想从服务器获取与$ HTTP GET XML数据的AngularJS应用说http://example.com/a/b/c/d/getDetails?fname=abc&lname=def(此通过在浏览器中输入链接进行手动访问时显示XML文件的树状结构)。 当我运行应用程序时,不会从该链接获取数据。而是显示 状态为0 的错误。 我不确定$ http.get为什么会失败并转到返回

  • 问题内容: 我正在尝试提出ajax请求 该请求将警报“ {“ readyState”:0,“ responseText”:“”,“状态”:0,“ statusText”:“错误”}“ 我在Google上搜索了所有我想出的是跨站点Ajax调用(这显然不是) 我已经尝试将完整的url放进去,并且做同样的事情。 我唯一能想到的就是标题,我不知道它到底有什么问题。这是firebug的请求标头 我在另一个页