1. 程式人生 > >Ajax的XMLHttpRequest物件的屬性和方法

Ajax的XMLHttpRequest物件的屬性和方法

XMLHttpRequest物件是Ajax的核心,它有很多的屬性、方法和事件以便於指令碼處理和控制HTTP的請求和相應。
一、XMLHttpRequest物件的屬性和事件

屬性 描述

readyState      表示XMLHttpRequest物件的狀態

responseText    包含客戶端接收到的HTTP相應的文字內容

responseXML     伺服器響應的XML內容對應的DOM物件

status          伺服器返回http狀態碼

statusText      伺服器返回狀態碼的文字資訊

事件  描述

onreadystatechange  當readyState屬性發生變化時觸發此事件,用於觸發回撥函式。

XMLHttprequest物件的方法
1、readyStates屬性

狀態  名稱  描述

0   Uninitialized   初始化狀態。XMLHttpRequest 物件已建立或已被 abort() 方法重置。

1   Open    open() 方法已呼叫,但是 send() 方法未呼叫。請求還沒有被髮送。

2   Send    Send() 方法已呼叫,HTTP 請求已傳送到 Web 伺服器。未接收到響應。

3   Receiving   所有響應頭部都已經接收到。響應體開始接收但未完成。

4   Loaded  HTTP 響應已經完全接收。

2、responseText屬性


readyState=4時,responseText包含完整的響應資訊。

readyState=3時,responseText包含未完整的響應資訊。

readyState<3時,responseText為空字串。

3、responseXML屬性

當readyState=4,並且響應頭部的Content-Type的MIME型別為XML(text/xml或application/xml)時,該屬性有值並且被解析成一個XML文件。其它情況為null,包括回傳的XML文件不良或未完成響應回傳。

4、status屬性

200 表示成功,而 404 表示 "NotFound" 錯誤。當 readyState 小於 3
的時候讀取這一屬性會導致一個異常。

5、statusText屬性

當狀態為 200 的時候它是"OK",當狀態為 404 的時候它是 "Not Found"。和 status 屬性一樣,當 readyState 小於 3 的時候讀取這一屬性會導致一個異常。

XMLHttprequest物件的方法

1.open方法

描述:制定和伺服器互動的HTTP方法,URL地址及其他請求資訊。

open(method,url, async, username, password) 用來進行初始化工作

返回值:得到一個包含send()方法的物件

method:必須。用於指定HTTP請求方法,支援所有HTTP的方法,如GET,POST,按規定

uri:請求的伺服器的地址,自動解析成絕對地址。

async:請求是否非同步,true表示你非同步,false表示同步,預設為trueusername,password:可以不指定,分別表示使用者名稱和密碼,提供HTTP認證機制需要的使用者名稱和密碼。

呼叫open後,readystate狀態為1. 

2.send(content)方法

描述:向伺服器發出請求,其內容可以是DOM物件,輸入流或是字串。

呼叫open 方法後,可以呼叫send()方法來發送請求。

當open 中async=true時,send()方法呼叫後立即返回,否則會中斷直到請求返回。

3.abort()方法

該方法可以暫停一個HttpRequest請求或者HttpResponse的接收,並且將XMLHttpRequest的狀態設定為初始化。

4.setRequestHeader(header,value)方法

該方法用來設定請求的頭部資訊。此方法需要在open方法之後呼叫。

5.getResponseHeader()方法

描述:返回包含HTTP的所有響應頭資訊,其中響應頭包括Content-LengthDate,URI等內容。

當readystate>2時,該方法用來檢索響應的頭部資訊。否則返回一個空字串。

getAllResponseHeaders()方法返回所有的HttpResponse頭部資訊。