DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> 對xmlHttp對象方法和屬性的理解
對xmlHttp對象方法和屬性的理解
編輯:JavaScript基礎知識     
1  客戶端可以通過xmlHttp對象(MSXML2.XMLHTTP.3.0)向http服務器發送請求並使用文檔對象模型(DOM)處理回應。

1.1 我的理解:

  1. 用戶的每次操作,都會有數據產生。
  2. 通過DOM或者JS編寫對數據進行封裝,或者浏覽器自身對http協議的一些數據進行封裝。
  3. 通過xmlHttp對象的一些方法,傳入數據參數,向http服務器發送請求。
  4. 返回結果通過DOM進行處理。

2  xmlHttp對象的成員。

2.1 屬性

  1. onreadystatechange:當readyState屬性值發生改變時,觸發的事件處理句柄。

例子:xmlHttp.onreadystatechange = functionHandler;

   function functionHandler() {

if(xmlHttp.readyState == 4) {

alert("當readyState狀態為4時,彈出此窗口!!!");

}

  }

//句柄只有方法名稱,沒有這對“()”括號。賦值時要注意理解。

  1. readyState:這個屬性表示狀態;總共有五種狀態:

0 (未初始化)

對象已建立,但是尚未初始化(尚未調用open方法)

1 (初始化)

對象已建立,尚未調用send方法

2 (發送數據)

send方法已調用,但是當前的狀態及http頭未知

3 (數據傳送中)

已接收部分數據,因為響應及http頭不全,這時通過responseBody和responseText獲取部分數據會出現錯誤,

4 (完成)

數據接收完畢,此時可以通過通過responseBody和responseText獲取完整的回應數據

// 因為xmlHttp的編寫方式固定,因此每一個步驟都會伴隨著狀態的改變,因此時刻監聽事件處理句柄,執行相應的邏輯。

代碼執行順序:

var  xmlHttpReq = new ActiveXObject("MSXML2.XMLHTTP.3.0");

xmlHttpReq.open("GET", "http://localhost/test.xml", false);

xmlHttpReq.send();

alert(xmlHttpReq.responseText);

 

2.2 方法

  1. open(Method, Url, Syn, User, Password);

創建一個新的xmlHttp對象時,實際上就是創建一個http請求。

此方法指定請求的方式(GET/POST/PUT/PROPFIND)、 URL、異步(默認情況為true)、驗證信息。

采用異步方式(true)時,狀態改變時會調用onreadystatechange屬性指定的回調函數。

  1. send();

此方法的同步或異步方式取決於open方法中的Syn參數,如果Syn == false,此方法將會等待請求完成或者超時時才會返回,如果Syn == true,此方法將立即返回。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved