介紹
本文介紹了使用AJAX和ASP.NET編寫web應用程式的一個簡單方法。同時,討論了使用AJAX的好處和不足。為了舉例說明,本文給出了相應的JavaScript代碼和用C#.NET編寫的ASP.NET代碼。
為什麼使用AJAX
也許大多數人已經知道AJAX的意思是非同步JavaScript和XML(Asynchronous JavaScript and XML)。據我所知,這項技術最初是由Microsoft在1999年提出來的,也就是我們所熟知的"使用遠程調用(remote calls)的DHTML / JavaScript web應用程式"。這項技術的核心就是通過瀏覽器發出一個非同步HTTP請求來調用服務端的網頁或服務,在返回結果後,無需重新整理就可以更新整個網頁。這項技術經過不斷地完善,到目前為此,使用AJAX的web程式從表現上看已經非常類似於Windows程式了。
由於這項技術的實現需要依賴於前端的瀏覽器,因此,它的使用受到了限制。但在最近的幾年,由於瀏覽器功能的加強和一些公司,如Google、Amazon.com的許多基於AJAX的應用的不俗表現,終於使這項技術鳳凰涅磐、慾火重生。
現在AJAX的使用已經非常廣泛,任何帶有豐富使用者體驗的動態網頁都會不約而同地使用AJAX。
解決方案
本文所描述的使用AJAX的方法非常簡單,而且效率很高。同時這種方法還非常容易維護,並且開發人員無需任何的特殊技巧就可以實現它,而且使用這種方法還可以跨瀏覽器。
一個基本的AJAX實現需要兩個主要部分:一個使用JavaScript代碼編寫的用戶端HTML頁,這些JavaScript用來向服務端發送請求和接收響應;一個可以接收請求和向用戶端發送響應資訊的遠程頁面。用戶端的JavaScript代碼的任務是建立一個XmlHttp對象,然後向服務端發送請求資訊,最後通過回調方式處理服務端返回的響應資訊。這一切都是由JavaScript代碼實現的。
本文的例子使用ASP.NET程式實現,在實現上要做到以下幾點:
1、AJAX可以在不同的ASP.NET頁上向不同的服務端頁發送請求。
2、遠程頁面URL可以包含動態可計算的參數,這樣做可以在ASP.NET的後端代碼中更方便地建立URL字串。
3、遠程頁在更新HTML頁之前可以使用複雜的資料進行響應,這也可以由ASP.NET的後端程式碼完成。
4、一個服務端頁面可以是一個擴充的第三方的頁面,也可以是本身的web頁或服務。
以上的幾點如圖1所示
圖1