JavaScript系列自己造的ajax轮子xcallback.2只有6kb

     也许大家厌烦了ajaxpro服务器端和客户端的配置,也对ms .net  ajax 庞大、低效且不易变通笨拙风格而感到不满,所以很多人沉迷在了jq的世界里,也包括我,ajax框架出现了这么多了,从网上看jq似乎成了ajax的终结者,但是本人感觉jq还是有很多不方便的地方,所以打算自己做一个, 不知道这样一款ajax框架能不能打动你, 先看一个基本例子,下面是个完整的ajax调用过程,比起jq是不是更简洁些

function test(v){
ajax.reg(
'x='+v);
return;
alert(ajax.x);
}

return 之前的是调用前执行的语句,return 之后是服务器返回数据后要执行的语句,其中ajax.x是服务器返回的值.这是个纯js文件,不需要在服务器端作任何配置,而且它相比其他ajax框架有几个明显优点:

1、内置了加载时图层显示效果,你可以对加载的图层的显示位置做全站级别的自定义,可选项有(topleft,topright,center,bottomleft,bottomright),默认是,topright

2、可以在一些特定方法里设定是否显示图层,例如下面代码在调用时不显示加载图层效果:

function test(v){
ajax.visible
=false;
ajax.reg(
'x='+v);
return;
alert(ajax.x);
}

3、内置了很完善的ajax异常处理程序,例如,如果服务器端发现异常,则会弹出一个div,显示异常信息,并在几秒之后跳往专门的错误页面,默认情况下,出现异常时会弹出一个显示'出现异常'的div ,并在3秒后跳往baidu.com ,你可以全站级别的配置出现异常时跳往的页面,以及间隔的时间,甚至弹出的div提示效果及信息也可以自己指定

4、后台的支持,如果你需要在后台叶面的page_load 里判断当前的请求类型,只需要加上这一句就行了Request.Form["isxcallback"]!=null  ,则说明了此时的请求来自于xcallback.2的ajax,

5、动态加载服务器端控件的支持,比起jq 的load('demo.html') ,具有更大的灵活性,具体C#方法如下:

如果要动态加载一个<asp:panel ID="myPanel">

则只需:GeneralHtml(myPanel) 

 public string GeneralHtml(System.Web.UI.Control serverControl)
        {
            System.Text.StringBuilder builder 
= new System.Text.StringBuilder();
            System.IO.StringWriter writer 
= new System.IO.StringWriter(builder);
            System.Web.UI.HtmlTextWriter HtmlWriter 
= new System.Web.UI.HtmlTextWriter(writer);
            serverControl.RenderControl(HtmlWriter);
            
return builder.ToString();
        }

在线演示地址:http://job.hrbust.edu.cn/fb/xcallback/ 

演示下载地址:https://files.cnblogs.com/chenxumi/xcallback.rar 

posted @ 2009-07-07 12:27  地狱伞兵  阅读(2802)  评论(31编辑  收藏  举报