AJAX XML 實例

AJAX XML 實例

·Previous Page

·Next Page

AJAX 可用來與 XML 文件進行交互式通信。

AJAX XML 實例

下面的例子將演示網頁如何使用 AJAX 來讀取來自 XML 文件的信息:

獲得 CD 信息

親自試一下源代碼

實例解釋 - loadXMLDoc() 函數

當用戶點擊上面的獲得 CD 信息這個按鈕,就會執行 loadXMLDoc() 函數。

loadXMLDoc() 函數創建 XMLHttpRequest 對象,添加當服務器響應就緒時執行的函數,並將請求發送到服務器。

當服務器響應就緒時,會構建一個 HTML 表格,從 XML 文件中提取節點(元素),最後使用已經填充了 XML 數據的 HTML 表格來更新 txtCDInfo 佔位符:

function loadXMLDoc(url)

{

var xmlhttp;

var txt,xx,x,i;

if (window.XMLHttpRequest)

{// code for IE7+, Firefox, Chrome, Opera, Safari

xmlhttp=new XMLHttpRequest();

}

else

{// code for IE6, IE5

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.onreadystatechange=function()

{

if (xmlhttp.readyState==4 && xmlhttp.status==200)

{

txt="<table border='1'><tr><th>Title</th><th>Artist</th></tr>";

x=xmlhttp.responseXML.documentElement.getElementsByTagName("CD");

for (i=0;i<x.length;i++)

{

txt=txt + "<tr>";

xx=x[i].getElementsByTagName("TITLE");

{

try

{

txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";

}

catch (er)

{

txt=txt + "<td> </td>";

}

}

xx=x[i].getElementsByTagName("ARTIST");

{

try

{

txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";

}

catch (er)

{

txt=txt + "<td> </td>";

}

}

txt=txt + "</tr>";

}

txt=txt + "</table>";

document.getElementById('txtCDInfo').innerHTML=txt;

}

}

xmlhttp.open("GET",url,true);

xmlhttp.send();

}

AJAX 服務器頁面

上面這個例子中使用的服務器頁面實際上是一個 XML 文件,名爲 "cd_catalog.xml"

來自:http://www.w3school.com.cn

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章