我试图从JavaScript文件中读取我的XML文件。
XML文件:
<?xml version="1.0" encoding="utf-8"?>
<pct>
<occ>
<morphology>A</morphology>
<morphology>B</morphology>
<morphology>C</morphology>
<morphology>D</morphology>
</occ>
<life>
<morphology>X</morphology>
<morphology>Y</morphology>
<morphology>Z</morphology>
</life>
</pct>
以下是Javascript代码段:
function loadDynamic(){
xmlDoc = loadXMLDoc("data.xml");
......
}
function loadXMLDoc(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,true);
xmlhttp.send();
return xmlhttp.responseXML;
}
现在我知道我的loadXMLDoc函数正在运行,因为当我检查Chrome控制台时,我在xmlhttp.responseXML中看到了我的XML文档。但我的xmlDoc始终为null。
我对我出错的地方一无所知,任何帮助都会非常感激!
谢谢!
答案 0 :(得分:0)
我怀疑当你检查它时,你需要给出完成的通话时间,但是当你的程序运行时它会在通话完成之前返回responseXML(所以它仍然是空)。
您可以通过关闭异步请求来防止这种情况 - 基本上,只需将您的true更改为false:
xmlhttp.open("GET",filename,false);