一、簡介
異步JavaScript+XML(即Ajax),是一種創建交互式web應用程序的Web開發技術。這種程序使用JavaScript和XML從客戶端提交服務器請求,且整個過程中僅需要交換少量的數據而不必提交整個web頁面。因此,這樣的程序將更快和更具響應性,并將成為新一代客戶機-服務器系統的重要基礎技術之一。你可以在站點http://www.google.com/webhp?complete=1&hl=en處看到一種良好的AJAX實踐技術展示。在此頁面中,如果你把任何字母輸入到文本框內,那么隨后就會出現一個下拉列表框,其中的內容直接來自于服務器而不必提交整個頁面。AJAX的核心是XMLHttpRequest對象??蛻舳四軌蛟诤笈_檢索并直接提交XML數據。為了把檢索的XML數據轉換成可生成的HTML內容,需要依賴于客戶端文檔對象模型(DOM)讀取XML文檔結點樹并且組成用戶看得見的HTML元素。其實,AJAX并非象HTML,DHTML等一樣的單一技術,它結合了不同的技術:
◆XMLHttpRequest對象被使用于與web服務器異步地交換數據。
◆XML被普遍用作把數據傳輸回服務器的格式(盡管任何格式都能使用,例如普通文本,HTML等)。
◆如果使用XML作為轉換格式,那么DOM通常與如JavaScript這樣的客戶端腳本語言一起使用來動態地顯示和描述交互信息。
◆XHTML(或HTML),CSS用于標記和信息格式化。
二、 XMLHttpRequest對象
從歷史來看,是微軟首先在其Internet Explorer 5 for Windows中以一個ActiveX對象形式實現了XMLHttpRequest對象。隨后,由Mozilla工程的工程師實現了Mozilla 1.0(和Netscape 7)的一種兼容的本機版本;而稍后,蘋果公司在其Safari 1.2上也實現了相同的工作。其實,在W3C標準的文檔對象模型(DOM)Level 3加載與存儲規范中,也提到了類似的功能。現在,它成為一種事實上的標準,并開始在以后發行的大多數瀏覽器中得到實現。
(一) 創建對象
XMLHttpRequest對象的創建方式因瀏覽器不同而有所不同。對于Safari和Mozilla來說,其創建方式如下所示:
var req = new XMLHttpRequest(); |
對于Internet Explorer 5.0+(指5.0及更高版本),則要把對象名傳遞到ActiveX構造函數中:
var req = new ActiveXObject("Microsoft.XMLHTTP"); |
該對象的方法控制所有的操作,而其屬性存儲從服務器返回的各種數據片斷,例如XMLHttpObject.responseText包含從服務器返回的xml或字符串值。
(二) 方法
在Windows IE 5.0+、Safari 1.2和Mozila中支持的XMLHttpRequest對象的方法列舉如下:
在上面的方法中,open和send方法是最重要的。下面,讓我們首先從應用程序的觀點來討論open方法。
var req;………………………req = new ActiveXObject("Microsoft.XMLHTTP");……………var url="AjaxServer.aspx?PubID="+ID;……………//打開一個到URL的GET請求req.open("GET",url,true);//實際發送一個空請求req.send(null); |
下一篇 用文字鏈接代替表單提交的按鈕