11

我正在使用 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); }
});

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

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

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

4

2 回答 2

8

从OP 发布的带有答案的链接中:

在本地加载 XML 文件时,例如 CD-ROM 等,Internet Explorer 接收到的数据是纯文本,而不是 text/xml。在这种情况下,使用 dataType 参数将 xml 文件加载为文本,并在 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"
   }
 }); 

这也对我有用。

于 2009-01-24T17:01:34.203 回答
0

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

于 2009-01-12T19:43:18.450 回答