发布网友
共3个回答
热心网友
Chrome浏览器没有实现XMLdocument.load方法,可以换成XmlHttpRequest
下面是一段实例代码
热心网友
javascript加载xml文件在chrome下不成功的原因是加载的方法不兼容,兼容的写法如下:
function loadXMLDoc (dname) {
var xmlDoc;
try {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open('GET', dname, false);
xmlhttp.setRequestHeader('Content-Type', 'text/xml');
xmlhttp.send('');
xmlDoc = xmlhttp.responseXML;
} catch (e) {
try {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
} catch (e) {
console.error(e.message);
}
}
注意:要使用XMLHttpRequest来创建header并设置类型,document.implementation.createDocument就会有浏览器兼容的问题。
热心网友
javascript加载xml用open方法,load方法不太好使;
代码如下:
//加载xml文件
function parseXML(filename){
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET",filename,false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
return xmlDoc;
}
//测试xml是否加载
var xmlDoc=parseXML('cities.xml');