【问题标题】:Local html file AJAX Call and jQuery Woes本地 html 文件 AJAX 调用和 jQuery Woes
【发布时间】:2010-10-01 00:03:45
【问题描述】:

我正在使用 jQuery 和一些 xml 文件开发网站的离线版本。当我对 xml 文件执行 $.ajax 调用时,我在 jQuery 中遇到了一个问题,jQuery 会引发错误。

当我查看错误时,我可以知道它正在加载 XML 文件,因为它在错误的 responseText 属性中。它在 Firefox 中似乎可以正常工作。

这就是我的通话的样子

$.ajax({
    type: "GET",
    url: "Modules/" + ModuleID + "/ModuleContent.xml",
    dataType: "xml",
    success: function(x) { xml = x; ProcessXML(); },
    error: function(x) { alert(x.responceText); }
});

当我在网络服务器上运行它时,它工作得很好。只有当我遇到这个问题时,我才从文件中运行它。

关于如何在 IE 中进行这项工作的任何想法?

编辑:我找到了问题的答案。 Here

【问题讨论】:

  • 很高兴您找到了答案。如果您想写下来,您实际上可以在此处发布答案并为清楚起见接受它。
  • 我讨厌这个问题:bugs.jquery.com/ticket/14475

标签: jquery xml ajax internet-explorer offline


【解决方案1】:

来自 OP 发布的 link 的答案:

在本地加载 XML 文件时,例如一种 CD-ROM等,接收到的数据 Internet Explorer 是纯文本的,不是 文本/xml。在这种情况下,使用 加载xml的dataType参数 文件作为文本,并解析返回的 succes 函数中的数据

 $.ajax({
   url: "data.xml",
   dataType: ($.browser.msie) ? "text" : "xml",
   success: function(data){
     var xml;
     if (typeof data == "string") {
       xml = new ActiveXObject("Microsoft.XMLDOM");
       xml.async = false;
       xml.loadXML(data);
     } else {
       xml = data;
     }
     // Returned data available in object "xml"
   }
 }); 

这对我也有用。

【讨论】:

    【解决方案2】:

    只是一个想法:我记得一些 IE 的 GET 请求失败。你试过发布它吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-06
      • 2011-06-17
      • 1970-01-01
      • 2013-05-17
      • 1970-01-01
      • 2013-07-30
      相关资源
      最近更新 更多