0

说真的,IE的翻转有什么问题?当我访问通过 AJAX 加载的 XML 数据时,它会引发“对象不支持此属性或方法”错误。我整晚都在寻找原因,但没有成功。

代码没有问题,XML 数据也没有问题,其他浏览器都可以正常工作,实际上它甚至可以在 IE9 中工作,但只有在本地运行时,只要它在 Internet 区域中就会开始抛出错误。人们可能会认为这是区域安全设置,但它甚至不适用于最低安全设置。

调试器显示 XML 数据已成功加载和解析,它显示数据是 type IXMLDOMDocument2,而在本地它说它是 type Document,查看 jQuery 源代码表明它可能Microsoft.XMLHTTP在本地使用,否则XMLHttpRequest如果可用,所以这可能与它有关。

我可以通过将数据加载为文本并在之后使用 $.parseXML 来解决这个问题,但我真的很想知道这里发生了什么,这是一个已知的错误,还是我错过了其他东西?

示例(使用 jQuery 1.8.2):

<?xml version='1.0' encoding='utf-8'?>
<root>
    <child>child</child>
</root>

$.ajax({
    url: 'test.xml',
    dataType: 'xml',
    success: function(data)
    {
        alert(data);
    }
});
4

1 回答 1

1

如果您想将“数据”视为可以发出警报的字符串,请执行以下操作:

$.ajax({
    url: 'test.xml',
    dataType: 'text',
    success: function(data)
    {
        alert(data);
    }
});

如果您正在使用 XML 执行其他操作,我们需要查看您正在尝试执行的操作。

根据您发布的内容(我下载了它),这适用于 IE:

$.ajax({
    url: 'test.xml',
    dataType: 'xml',
    success: function (data) {
        alert(jQuery(data).find('child').text());
    }
});
于 2012-10-05T02:05:25.130 回答