閱讀目錄
開始
第一代技術:生成客戶端代理腳本調用服務端
新技術的改進方向
第二代技術:jQuery直接調用WebService
第三代技術:更簡單的數據格式
第四代技術:直接提交表單
多submit按鈕的提交(用jQuery.form實現)
批量輸入控件的提交(用jQuery.form實現)
提交復雜表單(用jQuery.form實現)
各種AJAX開發方法的對比與總結
相關鏈接
本文收集了在ASP.NET平臺上,一些具體代表性的AJAX開發方法,我將用實際的示例代碼來演示如何使用它們,讓您感受AJAX的進化歷程,同時也希望將一些優秀的AJAX開發方法介紹給您。
為了方便地介紹這些AJAX開發方法,我將它們劃分為四代技術。
注意:按代劃分AJAX技術純屬我個人的觀點,只為了更好了區分它們。
此外,一些不借助任何框架類庫的原始AJAX開發方法,本文將不討論它們。
第一代技術:生成客戶端代理腳本調用服務端
這類技術展示了第一代的AJAX框架的主要設計思想:在服務端為客戶端生成代理腳本, 然后由這些代理腳本調用服務端,調用者可以不必知道整個調用過程是如何實現的, 而且在客戶端的調用風格也基本與服務端的代碼類似。
這類技術的代表作有:ASP.NET AJAX, AjaxPro 二個服務端框架。
下面我將用ASP.NET AJAX框架來演示如何進行AJAX開發。
首先,我們可以創建一個WebService服務:
[WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]//若要允許使用 ASP.NET AJAX 從腳本中調用此 Web 服務,請取消對下行的注釋。 [System.Web.Script.Services.ScriptService]public class WebService1 : System.Web.Services.WebService { [WebMethod] public int Add(int a, int b) { return a + b; }
這段代碼就是一個普通的WebService代碼,唯獨需要注意的是:在類的定義上加了一個ScriptService修飾特性。
接下來,我們還需要在一個ASPX頁面中,用ScriptManager為它生成客戶端的代理腳本:
<asp:ScriptManager ID="ScriptManager1" runat="server"> <Services> <asp:ServiceReference Path="/WebService1.asmx" InlineScript="true" /> </Services></asp:ScriptManager>
說明:InlineScript="true"的設置并不是必須的,只是為了讓我們看到ScriptManager到底生成了什么代碼。
從截圖可以看到,除了引入了二個必要的AJAX客戶端類庫外,還在客戶端為WebService1生成了代理腳本。
有了這些代碼后,我們可以用下面的JavaScript代碼調用服務端:
新聞熱點
疑難解答
圖片精選