進階:怎樣使用AJAX進行WEB應用程序開發

發表于:2008-04-22來源:作者:點擊數: 標簽:webWEBWeb開發Ajax
閱讀提要AJAX,一個異步 Java Script和XML的縮略詞,是當今快速發展的Web 開發 界十分熱門的技術。在這項新技術提供巨大能力的同時,它也燃發了在"Back"按鈕問題上的不容置疑的爭論。本文作者將向你解釋怎樣在真實世界中使用AJAX以及怎樣在一個工程中評估它的
閱讀提要 AJAX,一個異步JavaScript和XML的縮略詞,是當今快速發展的Web開發界十分熱門的技術。在這項新技術提供巨大能力的同時,它也燃發了在"Back"按鈕問題上的不容置疑的爭論。本文作者將向你解釋怎樣在真實世界中使用AJAX以及怎樣在一個工程中評估它的價值。在你讀完本文后,你就會明白什么是AJAX,在什么情況下,為什么以及怎樣使用這項技術。

  一、 簡介

  AJAX,一個異步JavaScript和XML的縮略詞,是最近出來的技術詞語。異步意味著你可以經由超文本傳輸協議(HTTP)向一個服務器發出請求并且在等待該響應時繼續處理另外的數據。這就意味著,例如,你可以調用一個服務器端腳本來從一個數據庫中以XML方式檢索數據,把數據發送到存儲在一個數據庫的服務器腳本,或者簡單地裝載一個XML文件以填充你的Web站點而不需刷新該頁面。然而,在這項新技術提供巨大能力的同時,它也引起了在"Back"按鈕問題上的很多爭論。本文將幫助你確定在真實世界中何時使用AJAX是最佳選擇。

  首先,我假定你對縮略詞JavaScript和XML部分有一個基本了解。盡管你能通過AJAX請求任何類型的文本文件,但是我在此主要集中討論XML。我將解釋怎樣在真實世界中使用AJAX以及怎樣在一個工程中評估它的價值。在你讀完本文后,你將會明白什么是AJAX,在什么情況下,為什么以及怎樣使用這項技術。你將要學習,在保持給用戶提供直觀體驗的同時怎樣創建對象,發出請求以及定制響應。

  我已創建了一個適合于本文的示例工程(你可以下載源代碼)。這個示例實現了一個簡單的請求-它裝載一個包含頁面內容的XML文件并且分析數據以把它顯示在一個HTML頁面中。

  二、 常規屬性和方法

  表1和2提供了一個屬性和方法的概述-它們為Windows Internet Explorer 5,Mozilla,Netscape 7,Safari 1.2,和Opera等瀏覽器所支持。

  表1屬性

屬性 描述 
onreadystatechange  當請求對象變化時該事件處理器激活。 
readyState  返回指示對象的當前狀態的值。 
responseText 來自服務器的響應串的版本。 
responseXML  來自服務器的響應的DOM兼容的文檔對象。 
status 來自服務器的響應的狀態碼。 
statusText 以一個字符串形式返回的狀態消息。 

  表2方法

方法 描述 
Abort() 取消當前HTTP請求。 
getAllResponseHeaders() 檢索所有的HTTP頭值。 
getResponseHeader("headerLabel")  從響應體中檢索一個HTTP頭部的值。 
open("method","URL"[,asyncFlag[,"userName"[,"password"]]])  初始化一個MSXML2.XMLHTTP請求,并從該請求指定方法,URL和認證信息。 
send(content)  發送一個HTTP請求到服務器并接收響應。 
setRequestHeader("label", "value") 指定一個HTTP頭的名字。 

  三、 從哪里開始

  首先,你需要創建XML文件-后面我們對之進行請求并作為頁面內容進行分析。你正在請求的文件必須與目標工程駐留在相同的服務器上。

  下一步,創建發出請求的HTML文件。當頁面通過使用頁面主體中的onload方法進行加載時,該請求發生。接著,該文件需要一個有ID的div標簽,這樣當我們準備好要顯示內容時就可以對之進行定位。當你做完所有這些,你的頁面的主體看上去如下: 

<body onload="makeRequest('xml/content.xml');">
<div id="copy"></div>
</body> 

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97