Web開發(fā)的教程圖解_第1頁
Web開發(fā)的教程圖解_第2頁
Web開發(fā)的教程圖解_第3頁
Web開發(fā)的教程圖解_第4頁
Web開發(fā)的教程圖解_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Web開發(fā)的教程圖解同時(shí)我還將展示,如何使用JavaScript腳本和Dorn®口,來為網(wǎng)頁創(chuàng)建一個(gè)表格將ajax 請求的數(shù)據(jù)顯示到該表格內(nèi)本次的 ajax 實(shí)例效果中請求的服務(wù)端網(wǎng)頁依然是:Web_ajax.Asp該網(wǎng)頁使用了 Asp輸出xml技術(shù).如果你還不知道如何使用 Asp 輸出 xml 請返回: ajax 開始準(zhǔn)備篇提醒:在每篇ajax 教程的實(shí)例開始之前,你必須查看當(dāng)天的Web_ajax.asp 文件中的數(shù)據(jù)結(jié)構(gòu)因?yàn)槲覀兠看螌?shí)例中要讀取的標(biāo)簽和內(nèi)容都不一樣點(diǎn)擊:查看Web_ajax.Asp上次我們讀取的是ms礪簽.今天我們要讀取xml中新增的read標(biāo)簽我們要實(shí)現(xiàn)的效果是

2、:將read 標(biāo)簽下的Html , Css, Dom,JavaScript , Ajax 這些文本內(nèi)容顯示到我們網(wǎng)頁中的表格內(nèi)先看下面的代碼和實(shí)例演示復(fù)制代碼代碼如下:functionajax_xml()/ 在 IE 中創(chuàng)建 xmlRequest, 適用于 IE5.0 以上所有版本varmsXml=newArray("Msxml2.XML.5.0","Msxml2.XML.4.0","Msxml2.XML.3.0","Msxml2.XML","Microsoft.XML");for(vari=0

3、;itry_xml=newActiveXObject(msXmli);catch(e)_xml=null;/ 循環(huán)創(chuàng)建基于 IE 瀏覽器的 xml. 結(jié)束/ 如果非 IE 瀏覽器,則創(chuàng)建基于 FireFox 等瀏覽器的xmlRequestif(!_xml&&typeofXMLHttpRequest!="undefined")_xml=newXMLHttpRequest();return_xml;/ 發(fā)送請求函數(shù)functionPost()varajax=ajax_xml();/ 將 xmlrequest 對象賦值給一個(gè)變量ajax.open("po

4、st","web_ajax.asp",true);/設(shè)置請求方式,請求文件,異步請求ajax.onreadystatechange=function()/你也可以這里指定一個(gè)已經(jīng)寫好的函數(shù)名稱數(shù)據(jù)返回成功if(ajax.readyState=4)/if(ajax.status=200)/ 請求狀態(tài)碼返回 okvarxmlData=ajax.responseXML;/ 接收返回 xml 格式數(shù)據(jù)varread=xmlData.getElementsByTagName("read");/ 獲取所有的 read 標(biāo)簽if(read.length!=0

5、)vart=document.createElement("table");/創(chuàng)建一個(gè)表格元素t.setAttribute("border","1");document.body.appendChild(t);/ 將表格添加到 doby 內(nèi)for(vari=0;ivartr=t.Row(t.rows.length);/添加一行vartd=tr.Cell(0);/ 添加一列td.innerHTML=read0.childNodesi.firstChild.nodeValue;/為單元格寫入文本內(nèi)容ajax.send(null);今天我們

6、不再講昨天重復(fù)過的內(nèi)容 同樣在 Post 的函數(shù)內(nèi) 多 了幾行代碼可以跟上一篇 ajax 初始讀取數(shù)據(jù)篇進(jìn)行對比下面我們來講一下今天新增的代碼的作用ifread.length!=0 : 即判斷 read 標(biāo)簽是否被成功獲取 如果其legnth 屬性不等于 0 ,則代表 read 已經(jīng)存在可以對其進(jìn)行解析開始解析返回?cái)?shù)據(jù),但網(wǎng)頁中并沒有存在顯示數(shù)據(jù)的元素所以我們創(chuàng)建一個(gè)表格: vart=document.createElement("table"); 請參考:createElementt.setAttribute("border","1"

7、;);為表格添加一個(gè)邊框?qū)傩哉垍⒖迹簊etAttributedocument.body.appendChild(t);將創(chuàng)建好的表格添加到網(wǎng)頁body 元素內(nèi)請參考: appendChild表格添加完成開始遍歷read 標(biāo)簽內(nèi)的所有子元素也就是:html,css,dom,javascript,ajax 這些內(nèi)容開始一個(gè)循環(huán),read0.childNodes.length 的意思是獲取read 標(biāo)簽內(nèi)所有子元素的個(gè)數(shù)在這里會返回5 i=0;i為了讓每位讀者加深理解我再陳述一遍該實(shí)例效果的實(shí)現(xiàn)流程:當(dāng)你點(diǎn)擊了顯示數(shù)據(jù)按扭時(shí), Post 函數(shù)被啟用,函數(shù)內(nèi)一個(gè)名字為ajax的變量被賦值XMLRequ

8、es對象的弓I用.然后便打開了 open方法.并使用send方法向服務(wù)端發(fā)出請求.無論是 open還是 send 方法,都會引發(fā) readyState 方法的狀態(tài)值發(fā)生變化一旦readyState 發(fā)生變化就會觸發(fā) onreadystatechange 屬性 onreadystatechange 屬性指定的程序?qū)?zhí)行然后在程序內(nèi)再次判斷 readyState 的狀態(tài)值是否等于4 ,如果是則證明整個(gè)發(fā)送請求與服務(wù)端返回?cái)?shù)據(jù)已經(jīng)成功同時(shí)并判斷status 是否等 200,如果是則代表請狀態(tài)碼也已經(jīng) ok! 此時(shí)可以放心的百分之百的接收數(shù)據(jù),于是我們使用responseXML屬性來接收返回的數(shù)據(jù).該屬性只限制接收 xml 格式的數(shù)據(jù) 我始終認(rèn)為將xml 格式的數(shù)據(jù)做為請求與回傳的中介是ajax 最標(biāo)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論