AJAX學習(一)

AJAX出現(xiàn)的背景:

使Web應用程序有桌面應用程序所具有的特征,實現(xiàn)較強的交互性。

AJAX技術(shù)的特點:

異步性,它不會打斷用戶當前的操作,用戶不需要等待服務器的響應,就可以繼續(xù)瀏覽網(wǎng)頁以及輸入數(shù)據(jù)。

AJAX技術(shù)的核心:

XMLHttpRequest對象,其創(chuàng)建的方法如下:

var xmlHttp = new XMLHttpRequest()

需要注意的是,任何JavaScript對象都要考慮不同瀏覽器之間的兼容性。XMLHttpRequest對象也不例外,因此對于使用特殊處理器處理XML的瀏覽器,比如IE瀏覽器,就需要在代碼中做特殊判斷。

XMLHttpRequest對象在Web程序中的用途:

XMLHttpRequest對象在Web中主要負責兩個方面的工作:(1)一方面是向服務器發(fā)出請求。(2)另一方面是從服務器端得到和處理響應。

向服務器端發(fā)送請求代碼的基本步驟:

xmlHttp.open("GET", url, true);???????????????????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #連接一個服務器

xmlHttp.onreadystatechange = updatepage;??????????????????????????????????????????????? #構(gòu)建一個回調(diào)函數(shù)

xmlHttp.send(null);???????????????????????????????????????????????????????????????????????????????????????? # 向服務器發(fā)送數(shù)據(jù)

XMLHttpRequest詳解:

1.XMLHttpRequest對象的屬性

(1)readyState:XMLHttpRequest把一個http請求發(fā)送給服務器端后的狀態(tài)值

0:未初始化狀態(tài),已經(jīng)創(chuàng)建了一個XMLHttpRequest對象,但是還未進行初始化

1:描述一種“發(fā)送”狀態(tài),代碼已經(jīng)調(diào)用了XMLHttpRequest open()方法并已經(jīng)準備好把一個請求發(fā)送到服務器

2:描述一種“發(fā)送狀態(tài)”,此時,已經(jīng)通過send()方法把一個請求發(fā)送到服務器端,但是還未收到一個響應

3:描述一種“正在接收”的狀態(tài),已經(jīng)收到http響應頭部信息,但消息體還沒有完全接收結(jié)束

4:描述一種“已加載”狀態(tài),此時響應已經(jīng)被完全接收

(2)onreadystatechange事件:無論readyState何時發(fā)生改變,都會激發(fā)一個onreadystatechange事件。

(3)responseText屬性:只有當readyState為4時,才包含完整的響應信息,否則responseText為空。

(4)status屬性:描述HTTP的狀態(tài)碼,只有當readyState為3或4時才可用,當readyState小于3時調(diào)用會報錯。

(5)statusText:描述HTTP狀態(tài)代碼文本。

2.XMLHttpRequest對象的方法

(1)abort()方法:暫停一個XMLHttpRequest對象和服務器的連接,將其恢復到初始化狀態(tài)。

(2)open()方法:初始化一個XMLHttpRequest對象,并將對象的responseText,responseXML,status和stausText屬性恢復為它們的初始值狀態(tài)。

(3)send()方法:通過調(diào)用open()方法準備好一個請求之后,需要把該請求發(fā)送到服務器,當readyState值為1時,才可調(diào)用send()方法。

(4)setRequestHeader()方法:用于設置請求的頭部信息。

(5)getResponseHeader()方法:用于檢索響應的頭部值。

(6)getAllResponseHeader()方法:以一個字符串形式返回所有的響應頭部。

在XMLHttpRequest對象中,最為核心的兩個屬性是status和onreadystatechange,最為核心的兩個方法為open和send。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文詳細介紹了 XMLHttpRequest 相關(guān)知識,涉及內(nèi)容: AJAX、XMLHTTP、XMLHttpReq...
    semlinker閱讀 13,995評論 2 18
  • AJAX 原生js操作ajax 1.創(chuàng)建XMLHttpRequest對象 var xhr = new XMLHtt...
    碧玉含香閱讀 3,561評論 0 7
  • 要完整實現(xiàn)一個AJAX異步調(diào)用和局部刷新,通常需要以下幾個步驟: (1)創(chuàng)建XMLHttpRequest對象,也就...
    親愛的翔子閱讀 553評論 0 0
  • Ajax和XMLHttpRequest 我們通常將Ajax等同于XMLHttpRequest,但細究起來它們兩個是...
    changxiaonan閱讀 2,390評論 0 2
  • 1、ajax技術(shù)的背景 不可否認,ajax技術(shù)的流行得益于google的大力推廣,正是由于google earth...
    raincoco閱讀 455評論 0 4

友情鏈接更多精彩內(nèi)容