經過前兩篇教程,相信讀者對AJAX實際應用有了一定體會,這篇文章就來總結一下AJAX常用技術。
使用AJAX流程:
l 根據瀏覽器類型建立XMLHttpRequest對象。
l 設定XMLHttpRequest對象的回呼函數,onreadystatechange屬性。
l 建立串連,open方法。
l 設定Http頭資訊,setRequestHeader方法。
l 請求資料,send方法。
XMLHttpRequest類常用方法、屬性說明:
onreadystatechange方法:設定非同步響應回呼函數,每當響應狀態發生變化時,都將調用此函數,具體是指readyState的值變化。
open方法:建立請求串連。第一個參數是請求方式,POST或GET;第二個參數是請求的URL,當為GET方式時,URL上可以加參數;第三個參數為是否非同步請求,ture為非同步。
setRequestHeader方法:佈建要求的頭部資訊。第一個參數是頭資訊名稱,第二個參數是頭資訊值。
send方法:發送請求。當請求為POST方式時,send方法的參數即POST的參數。
responseText屬性:擷取伺服器端返回的文字格式設定資料。一般在回呼函數中使用。
responseXML屬性:擷取伺服器端返回的xml格式資料。一般在回呼函數中使用。
readyState屬性:當非同步請求發生時,此值會隨著請求進展不斷變化。
0: 請求未初始化;
1: 伺服器串連已建立;
2: 請求已接收;
3: 請求處理中;
4: 請求已完成,且響應已就緒
status屬性:請求結果。
200: "OK"
404: 未找到頁面
Javascript操作xml常用方法、屬性說明:
getElementsByTagName方法:根據元素(標籤)名稱擷取元素,返回一個數組,即使元素只出現一次,也返回一個數組,只不過數組只有一個元素而已。參數是元素名稱。
getElementById方法:根據id擷取元素。參數是元素id,由於id唯一,因此該方法只返回一個元素。
getAttribute方法:擷取元素的某個屬性值。參數是屬性名稱。
setAttribute方法:設定元素的某個屬性值。參數是屬性名稱。
createElement方法:建立一個元素。參數是元素名稱,如果成功建立,此方法會返回返回元素對象。
appendChild方法:插入子項目。參數是通過createElement方法建立的元素對象。
removeChild方法:刪除子項目。參數可以是通過getElementsByTagName或getElementById方法獲得的元素對象。
firstChild屬性:擷取第一個子項目。
childNodes屬性:子項目數組。例如:childNodes[i],擷取第i個子項目;childNodes.length擷取所有子項目個數。
nodeValue屬性:擷取/設定元素值。注意元素值與屬性值的區別。
小菜還要提醒讀者,涉及到xml的操作,一定要特別注意用戶端和伺服器的編碼、解析格式等。假如用戶端要擷取xml格式的資料,伺服器端必須設定ContentType為”text/xml”另外,互動時傳遞的xml資料格式一定要規範,否則很可能造成擷取失敗。
AJAX的基本知識就這些,掌握這些基本的知識,足以應付一般的需求。
其實,AJAX有時候不是那麼完美,現在比較流行的線上客服,在網頁裡邊聊天,小菜以為用AJAX實現可以實現推送的效果,實際上是不可以的,只能不停的從伺服器拿資料。
小菜水平有限,本教程僅供參考!有錯誤之處歡迎指正!
好了,教程到此結束!歡迎和我多多交流!祝讀者學習愉快!