AJAX與callback的區別
本頁內容為:AJAX與callback的區別,該文章本站轉載自網路,如有侵權請告之,我們將會及時將其刪除,其本文內容如下:
Ajax可以在用戶端回調伺服器方法,callback也可以,Ajax和callback的區別在於以下兩點:
一。callback只能返回string類型,而ajax可以返回其它類型,如dataset,還可以是你自己定義的類型。
二。ajax的邏輯要比callbcak簡單一些,
callback分為下面幾步:
1)在伺服器端註冊用戶端指令碼
string callbackRef = Page.ClientScript.GetCallbackEventReference(this, "param", "handleResultFromServer", "context");
//handleResultFromServer是伺服器處理完後返回參數到的那個用戶端函數的函數名
string callbackScript = "function CallTheServer(param, context)" + "{ " + callbackRef + "} ;";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "CallTheServer", callbackScript, true);
2)用戶端調用上面的函數CallTheServer傳遞參數到伺服器端
3)在伺服器接收參數並處理
4)伺服器端返回string型別參數給用戶端
5)用戶端接收參數並處理
ajax分下面幾步:
1)在伺服器端註冊用戶端指令碼
Ajax.Utility.RegisterTypeForAjax(typeof(PAGECLASS));//PAGECLASS是頁面的類名
或者也可以直接在用戶端手工加上指令碼:
<script language="javascript" src="ajax/common.ashx"></script>
<script language="javascript" src="ajax/NAMESPACE.PAGECLASS,ASSEMBLYNAME.ashx"></script>
2)用戶端直接調用伺服器端方法(但比該方法多一個參數,就是伺服器處理完後返回參數到的那個用戶端函數的函數名)
3)伺服器端方法返回對象給用戶端
4)用戶端接收並處理
尤其是在一個頁面要處理幾個回調的時候,ajax會更方便一些。