我的问题完全集中在 Microsoft (Trident) 浏览器上。reponseXML 和 loadXML 有什么区别?显示以下两个代码:
方式1:
var xmlObj = new ActiveXObject("Msxml2.DOMDocument");
xmlObj.async = false;
xmlObj.load('/files/xml/books.xml');
方式2:
var request = new ActiveXObject("Microsoft.XMLHTTP");
request.open("GET", "files/xml/books.xml", false);
request.onreadystatechange = function() { var xmlObj = request.responseXML; };
request.send(null);
在上面的代码片段中,两种情况下的变量 xmlObj 都是 xml 文档。但是它们之间有什么区别吗?因为我试图在没有 ajax 调用的情况下做某事,所以使用前面的代码片段,但它不起作用,尽管 xmlObj 具有预期的 xml 文件内容。请帮忙。谢谢。
编辑 :
我发现了不同之处。让我们考虑 books.xml 是:
<books>
<book>
<a/><b/>
</book>
<book>
<a/><b/>
</book>
</books>
现在 xmlObj.getElementsByTagName('a').length 将为第二种方法(ajax 调用)返回 2,而第一种方法将返回 0。