簡體   English   中英

卡住嘗試使用AJAX和Javascript和XMLHttpRequest解析XML

[英]Stuck trying to parse XML using AJAX and Javascript with XMLHttpRequest

重新編輯InnerHtml,以顯示完成的代碼中將包含多少Div。 還要重新編輯啟動功能,該功能現在不起作用,我不確定在什么時候中斷了它。

 var fname = name; function load() { var x = new XMLHttpRequest(); x.open ("GET", "file1.xml",true); x.onreadystatechange = handleServerInput; x.send(); xml =x.responseXML; fname = xml.getElementsByTagName("name")[0]; name = fname.childNodes[0].data; function handleServerInput() { if (x.readyState == 4 && x.status == 200) { function DisplayDiv() { var html = ""; html+= " <div id = \\"displayOuter\\">"; html+= " <div id = \\"displayInner\\">"; html+= " <p id = \\"fname\\">"; html+= " </p>"; html+= " </div>"; html+= " <div id = \\"displayInner2\\">"; html+= " </div>"; html+= " <div id = \\"displayInner3\\">"; html+= " </div>"; html+= " </div>"; return html; } function start() { document.body.innerHTML+=DisplayDiv(); var displayOuterDiv = document.getElementById("displayOuter"); displayOuterDiv.style.display= "block"; var innerdiv = document.getElementById('displayInner'); innerdiv.innerHTML = fname; } // alert ( this.responseText ); } } } window.onload = load; 

因此,我將DisplayDiv函數放入handleServerInput函數中,這確實將數據輸入到HTML Div中,但僅當將其設置為false時才使用,我不希望這樣做。 有人可以向我解釋為什么嗎? 這是代碼的更新。

 var fname = name; function load() { var x = new XMLHttpRequest(); x.open ("GET", "file1.xml",false); x.onreadystatechange = handleServerInput; x.send(); function handleServerInput() { if (x.readyState == 4 && x.status == 200) { document.body.innerHTML+=DisplayDiv(); div = document.getElementById('displayInner'); div.innerHTML = fname; } function DisplayDiv() { var html = ""; html+= " <div id = \\"displayInner\\">"; html+= " <p id = \\"fname\\">"; html+= " </p>"; html+= " </div>"; return html; } } xml =x.responseXML; fname = xml.getElementsByTagName("name")[0]; name = fname.childNodes[0].data; } 

嘗試分配fname然后再使用它。 我假設您只想在200個響應上使用x.responseXML ,所以您應該移動

xml =x.responseXML;
fname = xml.getElementsByTagName("name")[0];
name = fname.childNodes[0].data; 

div.innerHTML = fname;之前的某個位置的if語句中div.innerHTML = fname; 發生

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM