Ajax

讀書筆記

Asynchronous JavaScript and XML。利用JavaScript和xml在網絡瀏覽器和服務器之間傳送數據或接收數據的技術。使向服務器索取網頁的部分信息成爲可能。

工作原理是相當於在用戶和服務器之間建立一箇中間層,使用戶請求和服務器響應異步化。這樣把以前一些服務器負擔的工作轉交給客戶端,減輕服務器和帶寬的負擔。

它使用XHTML和CSS標準化呈現,使用DOM實現動態顯示和交互,使用XML和XSLT進行數據交換和處理,使用XMLHttpRequest進行異步數據讀取,最後用JavaScript綁定和處理所有數據。

XMLHttpRequest提供客戶端和服務器端異步通信協議。通過這個協議,Ajax可以使頁面像桌面程序一樣與服務器端進行數據層面的交換,而不必每次都刷新頁面,也不用每次將數據處理的工作交給服務器來做。

1.在網頁中創建XMLHttpRequest對象,如下:

var xmlHttp;

function createXMLHttpRequest()

{

       if(window.ActiveXObject){

               xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

        }else if(window.XMLHttpRequest){

                xmlHttp = new XMLHttpRequest();

           }

}

在XMLHttpRequest對象中有個很重要的屬性onreadystatechange,狀態改變事件觸發器,通常綁定一個js函數,每當狀態發生改變時調用該函數。readystate有5個可取值。還有很多方法可以查閱相關文檔。

DOM是面向HTML和XML文檔的一組API,它爲文檔提供了結構化的標示,並定義瞭如何通過腳本(如js)來訪問文檔結構。若沒有DOM,js中根本沒有web頁面和構成頁面元素的概念。文檔中的每個元素都是DOM的一部分,課通過js來訪問這些元素的屬性和方法,實現動態編輯頁面的功能。在網絡瀏覽器端,js利用DOM提供的API來操作HTML和XML文檔,這是Ajax的核心。

HTML文檔各個節點在DOM中被視爲各種類型(如Document、Element、Text)的Node對象,而且每個Node對象都有自己的方法和屬性,通常利用這些屬性和方法來遍歷或動態編輯整個文檔樹。在XMLHttpRequest對象中有屬性responseXML可以從服務器端返回兼容DOM的XML文檔對象。

首先初始化XMLHttpRequest對象,利用XMLHttpRequest對象的open方法建立對服務器的調用,send方法向服務器發送請求,在屬性onreadystatechange指定的事件處理函數中處理各種readystate。

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