我正在使用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" } });
这也为我工作。