-1
我有一些我無法理解的如何在AJAX中做到這一點。我的頁面中有一個側欄和一個div「內容」。側邊欄由按鈕和它的onclick調用的函數經典:在另一個之後調用AJAX函數
function loadDoc(url) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById("content").innerHTML = xhttp.responseText;
}
};
xhttp.open("GET", url, true);
xhttp.send();
}
它加載按鈕的「URL」中的內容。那麼,在這一點上一切都很好。現在這個URL之一,例如「TheUrl」,是一個包含標題等的文檔,以及一個div「列表」,並且在這個列表中我想加載一個XML文件。我具備的功能
function loadXML() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
myFunction(xhttp);
}
};
xhttp.open("GET", "file.xml", true);
xhttp.send();
}
function myFunction(xml) {
var i;
var xmlDoc = xml.responseXML;
var table="<ul>";
var x = xmlDoc.getElementsByTagName("ITEM");
for (i = 0; i <x.length; i++) {
table += "<li>" +
x[i].getElementsByTagName("ELEMENT")[0].childNodes[0].nodeValue +
"</li>"
};
table += "</ul>";
document.getElementById("list").innerHTML = table;
}
但我不知道如何後loadDoc加載功能的loadXML()(「TheUrl」),這樣XML數據將出現在那在div內容創建DIV列表..我清楚了? :d
我想類似的東西在我的側邊欄:
<ul>
<li><button type="button" onclick=loadDoc("OtherUrl.html")>OtherUrl</button></li>
<li><button type="button" onclick=loadDoc("TheUrl.html").done(loadXML())>TheUrl</button></li>
</ul>
感謝你提前對你的幫助。
您可以在另一個函數中調用一個函數。 – Developer
您可以在'loadDoc'' onreadystatechanged'事件中調用'loadXML'。這很簡單。 – Venky
如果您使用'jquery ajax',您將有權訪問'promises'。那麼你可以使用'done'或'fail'回調來執行'後期處理'。 – Venky