IE 8无法使用jQuery.parseXML

时间:2013-06-19 17:35:33

标签: jquery

我正在使用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

1 个答案:

答案 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) }
});

(cfr。IE9 refuses to process XML response