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,後來瀏覽器逐漸的相容了這個瀏覽器,現在來看明...