我正在使用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中工作的任何想法?
编辑:我找到了问题的答案.这里
从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" } });
这对我也有用.