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

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

ajax技術(shù)簡單入門

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

作者:佚名點擊:117次評論:0次標簽: ajax Javascript xml

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

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


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

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

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

 
圖 3 標準Ajax處理過程
下表是XHR的方法和屬性:
表 1 標準XMLHttpRequest方法

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


表 2 標準XMLHttpRequest屬性

 

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

     

     

abort()

getAllResponseHeader()

getResponseHeader("Header")

open("method", "url")

send(content)

setRequestHeader("header", "value")

停止當前請求

HTTP請求的所有響應頭部作為鍵/值對返回

返回指定首部的串值

建立對服務器的調(diào)用

向服務器發(fā)送請求

把指定首部設置為所提供的值



屬 性 說 明

   

         

onreadystatechange

readyState

 

responseText

responseXML

status

statusText

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

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

服務器的響應,表示為一個文本字符串值

服務器的響應,表示為一個XML

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

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



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

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

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

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

    熱門評論

    最新評論

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

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