- Ajax與jQuery程序設計
- 程永恒
- 706字
- 2020-06-29 11:32:57
2.1 XMLHttpRequest對象概述
XMLHttpRequest對象是整個Ajax技術中的核心,缺少了它,Ajax的其余技術就無法成為一個有機的整體。Ajax技術的核心是:異步發送請求,不刷新頁面,動態加載是表象,異步發送是根本。Ajax技術離開了XMLHttpRequest對象,將失去與服務器通信的能力。
從第1章的內容可以發現,在Ajax應用中以XMLHttpRequest對象異步發送請求,這種請求既可以是GET請求,也可以是POST請求,二者都可以發送請求參數。與傳統Web應用不同,Ajax必須以編程的方式來發送請求。在請求發送出去之后,服務器響應會在合適的時候返回,但客戶端瀏覽器不會自動加載這種異步響應,程序必須先調用XMLHttpRequest對象的responseText或responseXML來獲取服務器響應,再通過DOM操作將服務器響應多態加載到當前頁面中。
1999年上半年,Microsoft在Internet Explorer 5.0中首次使用了一種新技術,通過使用這種新技術,瀏覽者不用從當前Web頁面跳轉,或者使用表單提交來發送請求,而是可以直接在當前頁面中發送請求到服務器,也可以從服務器讀取數據。這種技術的實現依賴于一個特殊的ActiveX對象,即XMLHTTP。
在此之前,能夠做到直接與服務器通信的唯一技術是iframe。這個功能非常重要,因為它能減少無狀態連接的等待,還可以減少冗余HTML代碼的下載,從而提高響應速度。
XMLHTTP對象大受歡迎,到了2000年它幾乎成為事實上的標準。Mozilla在這一年實現了具有相同接口的原生對象,稱為XMLHttpRequest對象。后來,Opera、Safari等瀏覽器也都相繼實現了XMLHttpRequest對象。于是,XMLhttpRequest成為這個技術的正式名稱。
關于XMLhttpRequest最通用的定義是:XMLHttpRequest是一套可以在JavaScript、VBScript、JScript等腳本語言中使用的API,它通過HTTP協議異步地向服務器發送請求,并獲取從服務器返回的響應。XMLHttprequest的用處是提供與服務器異步通信的能力。
根據MSDN的解釋,XMLHTTP提供客戶端同HTTP服務器通信的協議,客戶端可以通過XMLHTTP對象向服務器發送請求,并使用微軟XML文檔對象模型(DOM)來處理服務器的響應。