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