Ajax對(duì)xml信息的接收和處理操作實(shí)例分析
本文實(shí)例講述了Ajax對(duì)xml信息的接收和處理操作。分享給大家供大家參考,具體如下:
Ajax負(fù)責(zé)請(qǐng)求和接收xml信息,DOM負(fù)責(zé)處理xml信息。
DOM:
php中,DOM是php 與 xml(html)之間溝通的橋梁
JavaScript中,DOM是JavaScript 與 html(xml)之間溝通的橋梁
xml需要從服務(wù)器端返回到客戶端被JavaScript處理
Ajax負(fù)責(zé)請(qǐng)求xml,DOM(JavaScript)負(fù)責(zé)處理xml信息
Ajax+JavaScript實(shí)現(xiàn)對(duì)xml的接收處理,可以方便我們后期實(shí)現(xiàn)一個(gè)靜態(tài)網(wǎng)站(html+css+JavaScript)實(shí)現(xiàn)對(duì)各個(gè)接口數(shù)據(jù)的處理。
自定義的xml文件
09.xml
<?xml version="1.0" encoding="UTF-8"?><weather> <city> <name>北京</name> <temp>23-31度</temp> <wind>東風(fēng)</wind> </city> <city> <name>上海</name> <temp>25-32度</temp> <wind>東南風(fēng)</wind> </city> <city> <name>深圳</name> <temp>29-35度</temp> <wind>西南風(fēng)</wind> </city></weather>
Ajax對(duì)xml信息的接收和處理處理代碼
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title></title><script type="text/javascript"> function f1(){ //ajax請(qǐng)求xml信息 //JavaScript的dom技術(shù)處理xml var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function(){ if(xhr.readyState == 4){//alert(xhr.responseXML);//object Document 其是xml根節(jié)點(diǎn)的父節(jié)點(diǎn)對(duì)象var xmldom = xhr.responseXML;//console.log(xmldom.firstChild);//<weather>var citys = xmldom.getElementsByTagName("city");//console.log(citys);// HTMLCollection[city, city, city]/*citys[1];//第二個(gè)city的元素節(jié)點(diǎn)對(duì)象for(var k in citys[1]){//k代表元素節(jié)點(diǎn)對(duì)象的成員名稱 console.log(k); //有輸出這樣一個(gè)成員方法:getElementsByTagName //結(jié)論:document對(duì)象和普通元素對(duì)象都有g(shù)etElementsByTagName()方法}*/var s = "";for(var i=0; i<citys.length; i++){ var name = citys[i].getElementsByTagName("name")[0].firstChild.nodeValue; var temp = citys[i].getElementsByTagName("temp")[0].firstChild.nodeValue; var wind = citys[i].getElementsByTagName("wind")[0].firstChild.nodeValue; s += "城市:" + name + "--溫度:" + temp + "--風(fēng)向:" + wind + "<br />";}document.getElementById("result").innerHTML = s; } } xhr.open("get","./09.xml"); xhr.send(null); }</script></head><body> <h2>利用Ajax+JavaScript實(shí)現(xiàn)對(duì)xml的接收和處理</h2> <input type="button" value="觸發(fā)" onclick="f1()" /> <div id="result"></div></body></html>
運(yùn)行結(jié)果
更多關(guān)于ajax相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jquery中Ajax用法總結(jié)》、《JavaScript中ajax操作技巧總結(jié)》、《PHP+ajax技巧與應(yīng)用小結(jié)》及《asp.net ajax技巧總結(jié)專題》
希望本文所述對(duì)大家ajax程序設(shè)計(jì)有所幫助。
相關(guān)文章:
1. ajax post下載flask文件流以及中文文件名問(wèn)題2. Ajax請(qǐng)求超時(shí)與網(wǎng)絡(luò)異常處理圖文詳解3. Spring MVC+ajax進(jìn)行信息驗(yàn)證的方法4. SpringMVC+Jquery實(shí)現(xiàn)Ajax功能5. laravel ajax curd 搜索登錄判斷功能的實(shí)現(xiàn)6. 告別AJAX實(shí)現(xiàn)無(wú)刷新提交表單7. Ajax校驗(yàn)用戶名是否存在的方法8. bootstrap select2 動(dòng)態(tài)從后臺(tái)Ajax動(dòng)態(tài)獲取數(shù)據(jù)的代碼9. Ajax實(shí)現(xiàn)頁(yè)面無(wú)刷新留言效果10. 詳談ajax返回?cái)?shù)據(jù)成功 卻進(jìn)入error的方法
