西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)javascript|JQuery → ajax技術(shù)簡單入門

ajax技術(shù)簡單入門

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:本站整理時(shí)間:2011/1/12 15:01:26字體大。A-A+

作者:佚名點(diǎn)擊:117次評(píng)論:0次標(biāo)簽: ajax Javascript xml

  • 類型:行業(yè)軟件大小:7.3M語言:中文 評(píng)分:10.0
  • 標(biāo)簽:
立即下載

 一、 Ajax的簡介
ajax的英文全稱是“Asynchronous Javascript and XML”,即異步Javascript和XML。Ajax的核心技術(shù)理念在于使用XMLHttpRequest對(duì)象發(fā)送異步請(qǐng)求。最初為XMLHttpRequest對(duì)象提供瀏覽器支持的是微軟公司。是一種用來開發(fā)交互性網(wǎng)頁的技術(shù),其本身由多種技術(shù)組成。
1、ajax的工作原理,首先我們看下傳統(tǒng)網(wǎng)絡(luò)應(yīng)用模型:


圖1 傳統(tǒng)網(wǎng)絡(luò)應(yīng)用模型
下面是ajax風(fēng)格的通信流

圖2 ajax風(fēng)格的通信流
使用Ajax可以帶來的好處有以下幾方面。
1. 減輕服務(wù)器的負(fù)擔(dān)。Ajax的原則是“按需取數(shù)據(jù)”,可以最大程度地減少冗余請(qǐng)求,減輕服務(wù)器的負(fù)擔(dān)。
2. 無需刷新頁面,減少用戶心理和實(shí)際的等待時(shí)間。特別是在讀取大量數(shù)據(jù)時(shí),不會(huì)像刷新頁面那樣出現(xiàn)白屏的情況,Ajax使用XMLHttpRequest對(duì)象發(fā)送請(qǐng)求并且得到服務(wù)器響應(yīng),在不重新載入整個(gè)頁面的情況下,用JavaScript操作DOM更新頁面。因此在讀取數(shù)據(jù)的過程中,用戶所面對(duì)的不是白屏,是原來的頁面內(nèi)容(也可以加一個(gè)“Loading”的提示框讓用戶知道目前正在讀取數(shù)據(jù)),只有在數(shù)據(jù)接收完畢之后才更新相應(yīng)部分的內(nèi)容。這種更新是瞬間的,用戶幾乎感覺不到。
3. 帶來更好的用戶體驗(yàn)。
4. 可以把以前一些服務(wù)器負(fù)擔(dān)的工作轉(zhuǎn)嫁到客戶端,利用客戶端閑置的能力來處理,減輕服務(wù)器負(fù)擔(dān),充分利用帶寬資源,節(jié)約空間和寬帶租用成本。
5. 可以調(diào)用外部數(shù)據(jù)。
6. 基于標(biāo)準(zhǔn)化的并被廣泛支持的技術(shù),不需要下載插件或者小程序。
7. 進(jìn)一步促進(jìn)頁面呈現(xiàn)與數(shù)據(jù)的分離。

二、ajax的核心—XMLHttpRequest (XHR)
Ajax應(yīng)用的特點(diǎn)之一就是無需刷新頁面即可向服務(wù)器傳輸或者讀寫數(shù)據(jù)(又稱無刷新更新頁面),這一特點(diǎn)主要得益于XMLHttpRequest對(duì)象。這樣就可以像桌面應(yīng)用程序一樣,只同服務(wù)器進(jìn)行數(shù)據(jù)層面的交換,而不用每次都刷新界面,也不用每次將數(shù)據(jù)處理的工作提交給服務(wù)器來做。這樣既減輕了服務(wù)器的負(fù)擔(dān)又加快了響應(yīng)速度、縮短了用戶等候的時(shí)間。
坦率的講,Ajax并不是什么新鮮玩藝。也就是說,Ajax并不是一種全新的技術(shù),而更像一種技巧,是把過去的幾種技術(shù)巧妙結(jié)合的技巧。真正與Ajax相關(guān)的新名詞應(yīng)該是XMLHttpRequest――一個(gè)最早在IE 5中出現(xiàn),最近開始在多數(shù)瀏覽器得到支持的用來實(shí)現(xiàn)異步通信的對(duì)象。正如前面所說,B/S模式是利用瀏覽器作為其通用的客戶端,所以要想異步通訊成為可能,必須要得到瀏覽器的支持。如果不是有了瀏覽器對(duì)XMLHttpRequest對(duì)象的廣泛支持,我們可能不會(huì)看到Ajax的今天,更不會(huì)看到許多對(duì)Ajax的著名應(yīng)用,如Google Map,Google Suggest,Ta-da List等。
Ajax的處理過程是怎樣的呢?下圖為Ajax應(yīng)用的標(biāo)準(zhǔn)處理模式:

 
圖 3 標(biāo)準(zhǔn)Ajax處理過程
下表是XHR的方法和屬性:
表 1 標(biāo)準(zhǔn)XMLHttpRequest方法

方 法 說 明
abort()
getAllResponseHeader()
getResponseHeader("Header")
open("method", "url")
send(content)
setRequestHeader("header", "value") 停止當(dāng)前請(qǐng)求
把HTTP請(qǐng)求的所有響應(yīng)頭部作為鍵/值對(duì)返回
返回指定首部的串值
建立對(duì)服務(wù)器的調(diào)用
向服務(wù)器發(fā)送請(qǐng)求
把指定首部設(shè)置為所提供的值


表 2 標(biāo)準(zhǔn)XMLHttpRequest屬性

 

PSE: collapse" cellspacing="0" cellpadding="0" width="588" border="1">

     

     

abort()

getAllResponseHeader()

getResponseHeader("Header")

open("method", "url")

send(content)

setRequestHeader("header", "value")

停止當(dāng)前請(qǐng)求

HTTP請(qǐng)求的所有響應(yīng)頭部作為鍵/值對(duì)返回

返回指定首部的串值

建立對(duì)服務(wù)器的調(diào)用

向服務(wù)器發(fā)送請(qǐng)求

把指定首部設(shè)置為所提供的值



屬 性 說 明

   

         

onreadystatechange

readyState

 

responseText

responseXML

status

statusText

每個(gè)狀態(tài)改變都會(huì)觸發(fā)這個(gè)事件處理器

請(qǐng)求的狀態(tài):0-未初始化,1-正在加載,2-已加載,3-交互中,4-完成

服務(wù)器的響應(yīng),表示為一個(gè)文本字符串值

服務(wù)器的響應(yīng),表示為一個(gè)XML

服務(wù)器的HTTP狀態(tài)碼

HTTP狀態(tài)碼的相應(yīng)文本



利用XMLHttpRequest對(duì)象發(fā)送簡單請(qǐng)求
創(chuàng)建了XMLHttpRequest對(duì)象,并了解了XMLHttpRequest對(duì)象的方法和屬性之后,讓我們來看看怎樣利用XMLHttpRequest對(duì)象發(fā)送簡單的請(qǐng)求。利用XMLHttpRequest對(duì)象發(fā)送簡單請(qǐng)求的基本步驟如下:
1) 創(chuàng)建XMLHttpRequest對(duì)象實(shí)例。
2) 設(shè)定XMLHttpRequest對(duì)象的回調(diào)函數(shù),利用onreadystatechange屬性。
3) 設(shè)定請(qǐng)求屬性:設(shè)定HTTP方法(GET或POST);設(shè)定目標(biāo)URL。利用open()方法。
將請(qǐng)求發(fā)送給服務(wù)器。利用send()方法。

    PPT圖表
    (111)PPT圖表
    我們在制作各類的時(shí)候,或多或少的都能用到圖表。圖表它可以直觀的展示出各種信息數(shù)據(jù),有了圖表你就可以很好的將數(shù)據(jù)更直觀準(zhǔn)確的表達(dá)出來。小編在這里為大家搜集整理了一些大家可能會(huì)用到的圖表模板,歡迎有需要的各位前來下載。...更多>>

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)