怎樣使用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屬性
表2方法
三、 從哪裡開始
首先,你需要建立XML檔案-後面我們對之進行請求並作為頁面內容進行分析。你正在請求的檔案必須與目標工程駐留在相同的伺服器上。
下一步,建立發出請求的HTML檔案。當頁面透過使用頁面主體中的onload方法進行載入時,該請求發生。接著,該檔案需要一個有ID的div標籤,這樣當我們準備好要顯示內容時就可以對之進行定位。當你做完所有這些,你的頁面的主體看上去如下:
四、 建立請求物件
為了建立請求物件,你必須檢查是否瀏覽器使用XMLHttpRequest或ActiveXObject。這兩個物件之間的主要區別在於使用它們的瀏覽器。Windows IE 5 及以上版本使用ActiveX物件;而Mozilla,Netscape 7,Opera和Safari 1.2及以上版本使用XMLHttpRequest物件。另外一個區別是你建立物件的方式:Opera,Mozilla,Netscape和Safari允許你簡單地呼叫該物件的構造器,但是Windows IE需要把物件的名字傳遞到ActiveX構造器中。下面是怎樣建立程式碼來決定要使用哪個物件和怎樣建立它的示例:[@more@]
一、 簡介
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('/content.');"> <div id="copy"></div> </body> |
四、 建立請求物件
為了建立請求物件,你必須檢查是否瀏覽器使用XMLHttpRequest或ActiveXObject。這兩個物件之間的主要區別在於使用它們的瀏覽器。Windows IE 5 及以上版本使用ActiveX物件;而Mozilla,Netscape 7,Opera和Safari 1.2及以上版本使用XMLHttpRequest物件。另外一個區別是你建立物件的方式:Opera,Mozilla,Netscape和Safari允許你簡單地呼叫該物件的構造器,但是Windows IE需要把物件的名字傳遞到ActiveX構造器中。下面是怎樣建立程式碼來決定要使用哪個物件和怎樣建立它的示例:[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10172717/viewspace-928707/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 用AJAX開發智慧Web應用程式之基礎篇(轉)Web
- 轉行做Java開發應該怎樣學習?Java
- 應用反射進行開發反射
- 轉行學Java開發怎麼樣?Java
- dotnet core使用開源元件FastHttpApi進行web應用開發元件ASTHTTPAPIWeb
- 漸進式web應用開發---使用indexedDB實現ajax本地資料儲存(四)WebIndex
- VC開發應用程式答疑 (轉)
- 使用JAVA開發CORBA應用 (轉)JavaORB
- 在 Oracle JDeveloper 中進行 Ajax 程式設計(轉)OracleDeveloper程式設計
- 基於PostgreSQL進行Java應用開發SQLJava
- 開發Web應用程式中Cookie使用的問題 (轉)WebCookie
- 使用Lccwin32進行MySQL開發。 (轉)Win32MySql
- 使用 Java 進行移動應用開發的 8 個理由 - VikrantJava
- 怎樣開始用selenium進行自動化測試?
- 怎樣用程式取得CPU資訊 (轉)
- 使用應用程式跟蹤對效能改變進行量化分析(轉)
- 使用應用程式(Java/Python)訪問MaxCompute Lightning進行資料開發JavaPython
- Linux下應用程式開發:使用QT製作Skin(轉)LinuxQT
- 使用SemanticKernel 進行智慧應用開發(2023-10更新)
- 使用Python玩轉WMI進行Win32api/com進行Windows程式設計開發PythonWin32APIWindows程式設計
- 輕應用介紹 - 用JavaScript進行嵌入式開發JavaScript
- Chris:怎樣成為一名Android應用開發Android
- Linux下應用程式開發:QT中使用圖形庫(轉)LinuxQT
- 【iOS開發】如何用 Swift 語言進行LBS應用的開發?iOSSwift
- Linux下應用程式開發:QT開發簡介(轉)LinuxQT
- win10怎樣開啟iis應用程式池 win10開啟iis應用程式池的方法Win10
- ActionCable 中怎樣使用 devise 進行驗證dev
- 用Delphi進行word開發
- (轉)大公司裡怎樣開發和部署前端程式碼?前端
- ASP.NET中的AJAX應用開發總結ASP.NET
- 使用JavaServer Pages2.0開發Web應用 (轉)JavaServerWeb
- 使用 WebSphere CloudBurst 進行應用程式環境遷移(一)WebCloud
- 使用 WebSphere CloudBurst 進行應用程式環境遷移(二)WebCloud
- 使用Devstack進行開發dev
- 使用容器Docker進行開發Docker
- 使用 Devstack 進行開發dev
- Linux下應用程式開發:QT中的多執行緒程式設計(轉)LinuxQT執行緒程式設計
- 開發 SOA 應用程式