我正在使用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中使用它的任何想法?
编辑:我找到了问题的答案。 Here
答案 0 :(得分:8)
来自OP发布的link答案:
在本地加载XML文件时,例如一个 CD-ROM等,收到的数据 Internet Explorer是纯文本,而不是 文/ 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 :(得分:0)
只是一个想法:我记得一些GET请求与IE失败。你试过POST吗?