在项目中让Ajax面向对象 (二)
生活随笔
收集整理的這篇文章主要介紹了
在项目中让Ajax面向对象 (二)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
??? 上次更改后在頁面生成以下代碼
?
1 <script type="text/javascript">2 ?var WebForm1 =function(){};
3 WebForm1.TestMethod =function(x,y,clientCallBack){
4 JqAjax.Post("test.WebForm1","TestMethod",[x,y],clientCallBack,"/WebForm1.aspx?Ajax=true");}
5 ?</script>
6 ?
??? 以上的代碼很容易就構成了一個JS類的包裝,上次談過把所有的方法都動態生成了以上的方法,然后輸出到頁面。在需要的時候就可以如下調用?
?
?
<input id="button3" type="button" value="ajaxbutton" onclick="WebForm1.TestMethod(3,4,callback)"/>?? JqAjax.Post是自定義的一個的小插件
?
??
代碼 1 var JqAjax =new Object();2
3 (function($){
4 $.extend(JqAjax, {
5 Post:function(serverType, serverMethod, args, clientCallBack, url)
6 {
7 var dataBuilder =new StringBuilder();
8 //js StringBuilder可查網上資料
9 ? dataBuilder.append( "Type=" );
10 dataBuilder.append( Type );
11 dataBuilder.append( "&AMethod=" );
12 dataBuilder.append( Method );
13 if ( args ) {
14 for ( var i =0, count = args.length; i < count; i++ ) {
15 dataBuilder.append( "&Arg" );
16 dataBuilder.append( i );
17 dataBuilder.append( "=" );
18 dataBuilder.append( ( args[i] ) );}
19 }
20 $.post(url,dataBuilder.toString(),clientCallBack,"json");
21 }
22 })
23
24 })(jQuery);
?
?? 在post后,只要在Handle中截取到是ajax的傳遞如上面可過來判定Ajax=true或自定義擴展名,反射(反射的使用網上很多)到具體的方法 methodInfo.Invoke就動態可運行一個方法,返回時注意將 HttpResponse.ContentType = "application/x-javascript";就ok了。
?
轉載于:https://www.cnblogs.com/shouhongxiao/archive/2010/04/26/1721056.html
總結
以上是生活随笔為你收集整理的在项目中让Ajax面向对象 (二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html 窗口页面设置
- 下一篇: 囚犯生存概率引发的循环思考