對xmlHttp對象方法和屬性的理解
1.1 我的理解:
- 用戶的每次操作,都會有數(shù)據(jù)產(chǎn)生。
- 通過DOM或者JS編寫對數(shù)據(jù)進行封裝,或者瀏覽器自身對http協(xié)議的一些數(shù)據(jù)進行封裝。
- 通過xmlHttp對象的一些方法,傳入數(shù)據(jù)參數(shù),向http服務(wù)器發(fā)送請求。
- 返回結(jié)果通過DOM進行處理。
2 xmlHttp對象的成員。
2.1 屬性
- onreadystatechange:當readyState屬性值發(fā)生改變時,觸發(fā)的事件處理句柄。
例子:xmlHttp.onreadystatechange = functionHandler;
function functionHandler() {
if(xmlHttp.readyState == 4) {
alert("當readyState狀態(tài)為4時,彈出此窗口?。?!");
}
}
//句柄只有方法名稱,沒有這對“()”括號。賦值時要注意理解。
- readyState:這個屬性表示狀態(tài);總共有五種狀態(tài):
|
0 (未初始化) |
對象已建立,但是尚未初始化(尚未調(diào)用open方法) |
|
1 (初始化) |
對象已建立,尚未調(diào)用send方法 |
|
2 (發(fā)送數(shù)據(jù)) |
send方法已調(diào)用,但是當前的狀態(tài)及http頭未知 |
|
3 (數(shù)據(jù)傳送中) |
已接收部分數(shù)據(jù),因為響應(yīng)及http頭不全,這時通過responseBody和responseText獲取部分數(shù)據(jù)會出現(xiàn)錯誤, |
|
4 (完成) |
數(shù)據(jù)接收完畢,此時可以通過通過responseBody和responseText獲取完整的回應(yīng)數(shù)據(jù) |
// 因為xmlHttp的編寫方式固定,因此每一個步驟都會伴隨著狀態(tài)的改變,因此時刻監(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 方法
- open(Method, Url, Syn, User, Password);
創(chuàng)建一個新的xmlHttp對象時,實際上就是創(chuàng)建一個http請求。
此方法指定請求的方式(GET/POST/PUT/PROPFIND)、 URL、異步(默認情況為true)、驗證信息。
采用異步方式(true)時,狀態(tài)改變時會調(diào)用onreadystatechange屬性指定的回調(diào)函數(shù)。
- send();
此方法的同步或異步方式取決于open方法中的Syn參數(shù),如果Syn == false,此方法將會等待請求完成或者超時時才會返回,如果Syn == true,此方法將立即返回。
相關(guān)文章
javascript 全選與全取消功能的實現(xiàn)代碼
全選與全取消在工作過程中經(jīng)常會使用到,是因為它很方便,同時可以提高用戶體驗值,本文介紹如何使用javascript實現(xiàn)全選與全取消功能,需要了解的朋友可以參考下2012-12-12
JavaScript中使用指數(shù)方法Math.exp()的簡介
這篇文章主要介紹了JavaScript中使用指數(shù)方法Math.exp(),是JS入門學(xué)習中的基礎(chǔ)知識,需要的朋友可以參考下2015-06-06
你必須知道的JavaScript 變量命名規(guī)則詳解
在編寫代碼的時候難免涉及到變量的命名問題,不能只要求變量名的語法正確,而忽略了變量命名對代碼可讀性的影響2013-05-05
js nextSibling屬性和previousSibling屬性概述及使用注意
nextSibling屬性:該屬性表示當前節(jié)點的下一個節(jié)點;如果其后沒有與其同級的節(jié)點,則返回null;previousSibling屬性:該屬性與nextSibling屬性的作用正好相反,接下來將詳細介紹下,感興趣的你不妨了解下哦,或許對你有所幫助2013-02-02
js修改地址欄URL參數(shù)解決url參數(shù)問題
現(xiàn)在做網(wǎng)頁,經(jīng)常會碰到處理地址欄參數(shù)的問題,因此,就專門做了一個修改地址欄參數(shù)的方法,需要了解的朋友可以參考下2012-12-12

