欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

對xmlHttp對象方法和屬性的理解

 更新時(shí)間:2011年01月17日 22:54:41   作者:  
客戶端可以通過xmlHttp對象(MSXML2.XMLHTTP.3.0)向http服務(wù)器發(fā)送請求并使用文檔對象模型(DOM)處理回應(yīng)。
1  客戶端可以通過xmlHttp對象(MSXML2.XMLHTTP.3.0)向http服務(wù)器發(fā)送請求并使用文檔對象模型(DOM)處理回應(yīng)。

1.1 我的理解:

  1. 用戶的每次操作,都會(huì)有數(shù)據(jù)產(chǎn)生。
  2. 通過DOM或者JS編寫對數(shù)據(jù)進(jìn)行封裝,或者瀏覽器自身對http協(xié)議的一些數(shù)據(jù)進(jìn)行封裝。
  3. 通過xmlHttp對象的一些方法,傳入數(shù)據(jù)參數(shù),向http服務(wù)器發(fā)送請求。
  4. 返回結(jié)果通過DOM進(jìn)行處理。

2  xmlHttp對象的成員。

2.1 屬性

  1. onreadystatechange:當(dāng)readyState屬性值發(fā)生改變時(shí),觸發(fā)的事件處理句柄。

例子:xmlHttp.onreadystatechange = functionHandler;

   function functionHandler() {

if(xmlHttp.readyState == 4) {

alert("當(dāng)readyState狀態(tài)為4時(shí),彈出此窗口?。?!");

}

  }

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

  1. readyState:這個(gè)屬性表示狀態(tài);總共有五種狀態(tài):

0 (未初始化)

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

1 (初始化)

對象已建立,尚未調(diào)用send方法

2 (發(fā)送數(shù)據(jù))

send方法已調(diào)用,但是當(dāng)前的狀態(tài)及http頭未知

3 (數(shù)據(jù)傳送中)

已接收部分?jǐn)?shù)據(jù),因?yàn)轫憫?yīng)及http頭不全,這時(shí)通過responseBody和responseText獲取部分?jǐn)?shù)據(jù)會(huì)出現(xiàn)錯(cuò)誤,

4 (完成)

數(shù)據(jù)接收完畢,此時(shí)可以通過通過responseBody和responseText獲取完整的回應(yīng)數(shù)據(jù)

// 因?yàn)?/SPAN>xmlHttp的編寫方式固定,因此每一個(gè)步驟都會(huì)伴隨著狀態(tài)的改變,因此時(shí)刻監(jiān)聽事件處理句柄,執(zhí)行相應(yīng)的邏輯。

代碼執(zhí)行順序:

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);

創(chuàng)建一個(gè)新的xmlHttp對象時(shí),實(shí)際上就是創(chuàng)建一個(gè)http請求。

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

采用異步方式(true)時(shí),狀態(tài)改變時(shí)會(huì)調(diào)用onreadystatechange屬性指定的回調(diào)函數(shù)。

  1. send();

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

相關(guān)文章

最新評論