作者: jnzh 2013-07-31 14:44 [查查吧]:ytshengsheng.cn
ajax 技術(shù)和原理分析
ajax所包含的技術(shù)
大家都知道ajax并非一種新的技術(shù),而是幾種原有技術(shù)的結(jié)合體。它由下列技術(shù)組合而成。
1.使用CSS和XHTML來(lái)表示。
2. 使用DOM模型來(lái)交互和動(dòng)態(tài)顯示。
3.使用XMLHttpRequest來(lái)和服務(wù)器進(jìn)行異步通信。
4.使用javascript來(lái)綁定和調(diào)用。
在上面幾中技術(shù)中,除了XmlHttpRequest對(duì)象以外,其它所有的技術(shù)都是基于web標(biāo)準(zhǔn)并且已經(jīng)得到了廣泛使用的,XMLHttpRequest雖然目前還沒(méi)有被W3C所采納,但是它已經(jīng)是一個(gè)事實(shí)的標(biāo)準(zhǔn),因?yàn)槟壳皫缀跛械闹髁鳛g覽器都支持它。
ajax原理和XmlHttpRequest對(duì)象
Ajax的原理簡(jiǎn)單來(lái)說(shuō)通過(guò)XmlHttpRequest對(duì)象來(lái)向服務(wù)器發(fā)異步請(qǐng)求,從服務(wù)器獲得數(shù)據(jù),然后用javascript來(lái)操作DOM而更新頁(yè)面。這其中最關(guān)鍵的一步就是從服務(wù)器獲得請(qǐng)求數(shù)據(jù)。要清楚這個(gè)過(guò)程和原理,我們必須對(duì) XMLHttpRequest有所了解。
XMLHttpRequest是ajax的核心機(jī)制,它是在IE5中首先引入的,是一種支持異步請(qǐng)求的技術(shù)。簡(jiǎn)單的說(shuō),也就是javascript可以及時(shí)向服務(wù)器提出請(qǐng)求和處理響應(yīng),而不阻塞用戶。達(dá)到無(wú)刷新的效果。
所以我們先從XMLHttpRequest講起,來(lái)看看它的工作原理。
首先,我們先來(lái)看看XMLHttpRequest這個(gè)對(duì)象的屬性。
它的屬性有:
onreadystatechange 每次狀態(tài)改變所觸發(fā)事件的事件處理程序。
responseText 從服務(wù)器進(jìn)程返回?cái)?shù)據(jù)的字符串形式。
responseXML 從服務(wù)器進(jìn)程返回的DOM兼容的文檔數(shù)據(jù)對(duì)象。
status 從服務(wù)器返回的數(shù)字代碼,比如常見(jiàn)的404(未找到)和200(已就緒)
status Text 伴隨狀態(tài)碼的字符串信息
readyState 對(duì)象狀態(tài)值
0 (未初始化) 對(duì)象已建立,但是尚未初始化(尚未調(diào)用open方法)
1 (初始化) 對(duì)象已建立,尚未調(diào)用send方法
2 (發(fā)送數(shù)據(jù)) send方法已調(diào)用,但是當(dāng)前的狀態(tài)及http頭未知
3 (數(shù)據(jù)傳送中) 已接收部分?jǐn)?shù)據(jù),因?yàn)轫憫?yīng)及http頭不全,這時(shí)通過(guò)responseBody和responseText獲取部分?jǐn)?shù)據(jù)會(huì)出現(xiàn)錯(cuò)誤,
4 (完成) 數(shù)據(jù)接收完畢,此時(shí)可以通過(guò)通過(guò)responseXml和responseText獲取完整的回應(yīng)數(shù)據(jù)。 ?
圖說(shuō)新聞
深圳多個(gè)旅游景點(diǎn)發(fā)
深圳有哪些好玩又不
深圳周邊哪些地方可
深圳哪里可以玩漂流
深圳龍華區(qū)2021年暑期
2021第二屆龍崗喜劇節(jié)