ajax實現過程

XMLHttpRequest對象的屬性和方法
首先XMLHttpRequest 對象用於在後臺與服務器交換數據。

1.readyState屬性
狀態:0 代表未初始化。
1 代表準備發送。
2 已發送但還沒收到響應
3 正在接收
4 接收完成

2.responseText屬性
包含客戶端接收到的HTTP響應的文本內容。
當readyState=4時,responseText才包含完整的響應信息。
當readyState=3時,responseText包含未完整的響應信息。
當readyState3時,responseText爲空字符串。

3.responseXML屬性
當readyState=4,並且響應頭部的Content-Type的MIME類型爲XML(textxml或applicationxml)時,
該屬性有值並且被解析成一個XML文檔。
其它情況爲null,包括回傳的XML文檔不良或未完成響應回傳。

4.status及statusText屬性(描述http狀態代碼,及代碼文本)
當readyState2,才能訪問,否則出現異常。

5.onreadystatechange事件
當readyState屬性發生變化時觸發此事件,用於觸發回調函數。

6.open方法
open(method, uri, async, username, password) 用來進行初始化工作
返回值:得到一個包含send()方法的對象
method:必須。用於指定HTTP方法如GET,POST,PUT…。按規定必須大寫。
uri:請求發送到服務器相應的URI.自動解析成絕對地址。
async:請求是否異步,默認爲true.
調用open後,readystate狀態爲1.

7.send()方法
調用open 方法後,可以調用send()方法來發送請求。
當open 中async=true時,send()方法調用後立即返回,否則會中斷直到請求返回。
send(data)
data:可選。此處還有疑問。。

8.abort()方法
該方法可以暫停一個HttpRequest請求或者HttpResponse的接收,並且將XMLHttpRequest的狀態設置爲初始化。

9.setRequestHeader(header,value)方法
該方法用來設置請求的頭部信息。在調用open()後調用這個方法。否則將得到一個異常。

10.getResponseHeader()方法
當readystate2時,該方法用來檢索響應的頭部信息。否則返回一個空字符串。
getAllResponseHeaders()方法返回所有的HttpResponse頭部信息。

11.onreadystatechange 是一個事件句柄.
它的值 (state_Change) 是一個函數的名稱,當 XMLHttpRequest 對象的狀態發生改變時,會觸發此函數。
狀態從 0 (uninitialized) 到 4 (complete) 進行變化。僅在狀態爲 4 時,我們才執行代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章