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 >

则只需: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