我正在處理基於xml內容顯示圖像的內容流。 我正在建設它作爲一個網站,所以它的HTML和JavaScript,並出於一些未知的原因,並相信我已經梳理了齒狀梳的罰款,因爲我可以 - 我的JavaScript只是不加載我的XML(這就是我相當肯定的問題是,但我可能是錯的),它扔我錯誤,'getElementsByTagName'爲空。現在我目前還沒有建立完整的功能,我只是想通過將它讀出來作爲文本來測試xml,所以在這裏忍受着我。'getElementsByTagName'出現undefined
loadXMLDoc.js:
function loadXMLDoc(filename)
{
if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else // code for IE5 and IE6
{
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",filename,false);
xhttp.send();
return xhttp.responseXML;
}
我在HTML內部Java:
<script>
xmlDoc = loadXMLDoc("test.xml");
var x = xmlDoc.getElementsByTagName("song");
for (i=0; i<x.length; i++);
{
var a = (x[i].getElementsByTagName("source")[0].childnodes[0].nodeValue);
var b = (x[i].getElementsByTagName("artist")[0].childnodes[0].nodeValue);
var c = (x[i].getelementsByTagName("title")[0].childnodes[0].nodeValue);
var par = '<img class= "item" href ="#" ondblclick = "confirm()" src ="' +'" "title="' +b+ '"-"'+ c+ ' " />';
document.getElementById("demo").innerHTML += par;
}
</script>
和完整的錯誤:
遺漏的類型錯誤:無法讀取屬性未定義專輯 '的getElementsByTagName' .html:24 (匿名功能)
和funsies我的XML示例:
<song>
<source>imgs/Beck.jpg</source>
<title>Modern Guilt</title>
<artist>Beck</artist>
</song>
希望我涵蓋了所有將有必要,我知道它可能是一些愚蠢的,但我不能釘下來。
也許'xmlDoc'是'undefined'。你測試過哪個瀏覽器?請參閱MDN中的註釋:*「注意:從Gecko 30.0(Firefox 30.0/Thunderbird 30.0/SeaMonkey 2。27),由於對用戶體驗的負面影響,主線程上的同步請求已被棄用。「* –
你是否做過基本的調試以查看它是哪一行代碼以及它是」xmlDoc「還是」x [i ]''undefined'?基本的調試和故障排除應該在你發佈之前完成 – jfriend00
順便說一句,通常在'try..catch中包裝'xhttp = new ActiveXObject(「Microsoft.XMLHTTP」);''因爲你可以如果不支持,將會拋出一個錯誤(儘管很少有瀏覽器應該使用該叉) – RobG