XMLHttpRequest物件的屬性與方法

2021-09-30 13:52:09 字數 2374 閱讀 9387

xmlhttprequest物件是ajax的核心,它有很多屬性和方法。

1,readystate屬性

當乙個xmlhttprequest物件被創立後,readystate屬性標示了當前物件處於什麼狀態,可以通過對該屬性的訪問,來判讀此次請求的狀態然後做出相應的操作,

case 0 :

未初始化狀態,此時,已經建立了乙個xmlhttprequest物件,但是還沒有初始化。

case 1:

準備傳送狀態:此時,已經呼叫了xmlhttprequest物件的open()方法,並且xmlhttprequest物件已經準備好將乙個請求傳送到伺服器。

case 2:

已傳送狀態,此時已經通過send方法把乙個請求傳送到伺服器,等待響應。

case 3:

正在接收狀態,此時已經接收到http響應頭部資訊,但是訊息體部分還沒有完全接收到。

case 4:

完成響應狀態,此時已經完成了httpresponse響應的接收。

2.responsetext屬性

responsetext屬性包含客服端接收到的http響應的文字內容,當readystate屬性為0、1或2時,responsetext屬性包含乙個空字串:當readystate屬性值為3時,響應中包含客服端還沒完成的響應資訊;當readystate屬性值衛4,responsetext屬性才包含完整的響應資訊。

4.status屬性

status屬性描述了http狀態**,注意,僅當readystate屬性值為3(正在接受中)或者4(已載入)時,才能對此屬性進行訪問。如果在readystate屬性值小於3時,試圖去讀取status屬性值,將引發乙個異常。

5.statustext屬性

statustext屬性描述了http狀態**文字,並且僅當readystate屬性為3或者4才可用。當readystate屬性為其他值時試圖訪問statustext屬性將引發乙個異常。

6.onreadystatechange事件

每當readystate屬性發生改變時,就好觸發onreadystatechange事件,一般都要通過該事件來觸發回傳處理函式。

7.open()方法

xmlhttprequest物件是通過呼叫open(method,uri,async,username,password)方法來進行初始化工作的。呼叫該方法將得到乙個可以用來進行傳送的物件,open有五個引數。

//method引數是必須的,用來指定傳送請求的http方法(get,post,put,delete,head)引數要大寫。

//async引數用用指定是否請求是非同步的,預設是true。如果需要傳送乙個同步請求,需要把該引數設定為false。

//如果需要伺服器驗證訪問使用者的情況,可以設定username和password

8.send方法

呼叫open()方法後,就可以通過呼叫send()方法按照open方法設定的引數將請求進行傳送。當open方法中async為true,在send()方法呼叫後立即返回,否則將會中斷直到請求返回。要注意的是,send方法必須在readystate為1時呼叫open方法以後才能呼叫。在呼叫send方法以後到接收響應資訊知情,readystate屬性的值將被設定成2.一旦接收到響應資訊,readystate屬性將被設為3.直到響應接收完成,readystate屬性的值才會被設定為4。

send()方法使用乙個可選的引數,該引數可以包含可變型別的資料。使用者可以使用它並通過post方法把資料傳送到伺服器。另外可以顯示的使用null引數呼叫sned方法,這與不用引數呼叫該方法一樣。對於大多數其他的資料型別,在呼叫send方法之前,應該使用setrequestheader()方法先設定content-type頭部,如果send(data)方法中的data引數的型別為domstring,那麼資料將被編碼成utf-8,如果是document型別,那麼將使用由data.xmlencoding指定的編碼序列化該資料。

9.abort()方法

該方法可以暫停乙個httprequest的請求傳送或者httpresponse的接收,並且將xmlhttp request物件設定 為初始化狀態。

10.setrequestheader()方法

該方法用來設定請求的頭部資訊。當readystate屬性為1時,可以呼叫opne方法後呼叫這個方法;否則將得到乙個異常。setrequestheader(header,value)方法包含兩個引數,第乙個是header鍵名稱,後乙個是鍵值。

11.getresponseheader方法

此方法用於檢索響應的頭部值,僅能當readystate屬性是3或者4(既響應頭部可用以後)才可用呼叫該方法。否則,該方法返回乙個空字串。此外,還可以通過getallresponse header()方法獲取所有的httpresponse的頭部資訊。

更多:

標準的建立XMLHttpRequest物件的方法

我們先來看看xmlhttprequest這個物件的屬性。它的屬性有 onreadystatechange 每次狀態改變所觸發事件的事件處理程式。responsetext 從伺服器程序返回資料的字串形式。respon ml 從伺服器程序返回的dom相容的文件資料物件。status 從伺服器返回的數字 ...

XMLHttpRequest 物件詳解

http 請求的狀態.當乙個 xmlhttprequest 初次建立時,這個屬性的值從 0 開始,直到接收到完整的 http 響應,這個值增加到 4。狀態名稱描述0 uninitialized 初始化狀態。xmlhttprequest 物件已建立或已被 abort 方法重置。1open open 方...

Ajax核心 XMLHttpRequest物件

xmlhttprequest 物件是ajax功能的核心,學習xmlhttprequest物件就先從建立xmlhttprequest 物件開始,了解在不同的瀏覽器中建立xmlhttprequest 物件使用不同的方法 以前只是聽說有些瀏覽器不太支援ajax,後來瀏覽器逐漸的相容了這個瀏覽器,現在來看明...