2009-01-12 61 views
11

我正在使用jQuery和一些xml文件的网站离线版本。当我在xml文件上执行$ .ajax调用时,我遇到了jQuery中的问题jQuery抛出错误。本地html文件AJAX调用和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浏览器?

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

+1

很高兴你找到了答案。如果你想写出来,你实际上可以在这里发表一个答案并且为了清晰起见而接受它。 – 2009-01-12 20:18:33

+0

我讨厌这个问题:https://bugs.jquery.com/ticket/14475 – bgmCoder 2017-06-10 20:37:09

回答

8

link的OP发布的答案:

当本地加载XML文件,例如 CD-ROM等, 收到的数据是纯文本文件,而不是 text/xml。在这种情况下,使用 dataType参数加载XML 文件为文本,并解析返回 数据的更迭功能

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

这为我工作,以及内。

1

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