小编典典

本地html文件AJAX调用和jQuery困境

ajax

我正在使用jQuery和一些xml文件开发网站的脱机版本。我在xml文件上执行$ .ajax调用时遇到jQuery中的问题jQuery引发错误。

当我查看错误时,我可以告诉它正在加载XML文件,因为它位于错误的responceText属性中。它似乎可以在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中进行这项工作的任何想法?

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


阅读 498

收藏
2020-07-26

共1个答案

小编典典

从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"
   }
 });

这也为我工作。

2020-07-26