我正在使用Jquery 1.9.1。它在Chrome中工作正常,但即8,我得到错误:“无效的xml”。 IE 6-8似乎有dataType:xml的问题。 Jquery.parseXML不支持ie-6-8。
$(document).ready(function() {
$.ajax({
type: "GET",
url: "faculty.xml",
dataType: "text",
success: function(xml) { parseXmlx(xml); },
error: function(e) { alert(e) }
});
$("#output").append("<p>Loading full-time faculty...</p>");
});
function parseXmlx(xml) {
$("#output").empty();
// alert(xml);
var $xml = $(jQuery.parseXML(xml));
// find every Tutorial and print the author
}
<person>
<name>test</name>
</person>
错误:
网页错误详情
User Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
Timestamp: Wed, 19 Jun 2013 17:42:26 UTC
Message: Invalid XML: <person>
<name>Test</name>
</person>
Line: 507
Char: 3
Code: 0
URI: jquery-1.9.1.js
答案 0 :(得分:0)
我不确定这是否是导致问题的问题,但最好将以下行添加为XML文件的第一行。 (无权访问IE8进行测试)
<?xml version="1.0" encoding="utf-8"?>
你也可以尝试强制标题以确保这些是正确的:
变化
$.ajax({
type: "GET",
url: "faculty.xml",
dataType: "text",
success: function(xml) { parseXmlx(xml); },
error: function(e) { alert(e) }
});
为:
$.ajax({
type: "GET",
url: "faculty.xml",
dataType: ($.browser.msie) ? "text" : "xml",
accepts: {
xml: "text/xml",
text: "text/xml"
},
success: function(xml) { parseXmlx(xml); },
error: function(e) { alert(e) }
});