在进行.NET与AJAX交互设计的时候,我们通常会用JQuery的ajax函数调用HttpHandler,通过HttpResponse将数据写回给客户端。每次有了新的需求就新建一个.ashx文件。 这样做根本不用动脑子,而且还很开心,不亦乐乎,很多代码都可以复制黏贴,相信很多.Net开发人员都有类似的体会!但慢慢的就会暴露出很多问题, 比如:ashx路径改变,前端js得随着变;工程里边ashx文件越来越多维护越来越困难!下面的结构大家应该很熟悉了!
$.ajax({ type:"post", contentType: "application/json", datatype:"json", url:"dataservice.ashx",
data:{UID:1}, success:function(data) {alert("ok")} });
现在,有了Oajax,再也不用建立ashx文件了,再也不怕路径改变了,Js的API使用也更加简单了!
1、在Web工程中导入Oajax.dll、Newtonsoft.Json.dll任意版本,Oajax依赖于Newtonsoft.Json。
2、打开Web.config,配置如下:
<httpHandlers>
....
<add verb="*" path="Oajax.ashx" type="Oajax.OajaxHandler,Oajax"/>
</httpHandlers>
3、引入下面脚本,Oajax是一款JQuery插件。
<script src="http://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"></script>
<script src="Oajax/Oajax_v1.0.js" type="text/javascript"></script>
版本:当前版本为v1.0
接口说明:
$.Oajax.request(command,params,callback,options)
参数说明:
command:调用命令,格式为:libname$classname$method 或者 dll名称$服务类名$方法名
params:传入方法的参数,只支持Json对象
callback:回调函数,带一个对象参数
options:Json格式,如{async:true,isLog:true},async表示是否异步(默认异步),isLog表示是否将请求日志输出到浏览器控制台(F12)
具体使用示例,请下载源码,运行Default.aspx即可。