jQuery ajax 路由和过滤器使用说明


Posted in Javascript onAugust 02, 2011

遗憾的是,我用到的一个遗留系统并没有做到这样。于是在客户端应用jQuery的ajaxPrefilter改造了一下调用方法。

<html> 
<head> 
<title>ajaxPrefilter demo</title> 
</head> 
<body> 
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 
<script type="text/javascript"> 
var zoneAjaxUrl = '/ajax.php'; 
var zoneAjaxRoute = /\/ajax\/(\w+)\/(\w+)\/(\w+)(\?.*)?/; 
$.ajaxPrefilter(function( options, originalOptions, jqXHR ) { 
// console.log(options.url,'\n',originalOptions.url); 
var m = options.url.match(zoneAjaxRoute) 
if(m){ 
var routed = { 
dir : m[1], page : m[2], action : m[3], 
args : JSON.stringify(originalOptions.data) 
} 
options.url = zoneAjaxUrl+ (m[4]||''); 
options.data = $.param(routed); 
} 
}); 
var url = '/ajax/dir/page/action'; 
// var url = '/ajax/dir/page/action?a=1&b=2'; 
var url_jsonp = '/ajax/dir/page/action?callback=?'; 
// var url_jsonp = '/ajax/dir/page/action?a1=2&b1=3&diy_callback=?'; 
var data = { 
username: "abc@example.com", 
users : ['a','b'] 
} 
$.post(url,data); 
$.get(url,data); 
$.getJSON(url_jsonp,data); 
</script> 
</body> 
</html>

使用比对
// 改造之后 
$.post('/ajax/dir/page/action',{page:1}) 
// 改造之前 
$.post('/ajax.php',{ 
dir : 'dir', 
page : 'page', 
action : 'action', 
args : JSON.stringify({ page:1 }) 
});
Javascript 相关文章推荐
基于jQuery的动态表格插件
Mar 28 Javascript
js去字符串前后空格5种实现方法及比较
Apr 03 Javascript
javascript实现图片自动和可控的轮播切换特效
Apr 13 Javascript
javascript作用域问题实例分析
Jul 13 Javascript
纯js模拟div层弹性运动的方法
Jul 27 Javascript
jquery获取css的color值返回RGB的方法
Dec 18 Javascript
js针对ip地址、子网掩码、网关的逻辑性判断
Jan 06 Javascript
javascript iframe跨域详解
Oct 26 Javascript
Bootstrap CSS布局之列表
Dec 15 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
Jun 27 Javascript
vue如何搭建多页面多系统应用
Jun 17 Javascript
JavaScript事件循环及宏任务微任务原理解析
Sep 02 Javascript
js禁止小键盘输入数字功能代码
Aug 01 #Javascript
js内置对象 学习笔记
Aug 01 #Javascript
DB.ASP 用Javascript写ASP很灵活很好用很easy
Jul 31 #Javascript
js动态加载以及确定加载完成的代码
Jul 31 #Javascript
JS按位非(~)运算符与~~运算符的理解分析
Jul 31 #Javascript
JS高级拖动技术 setCapture,releaseCapture
Jul 31 #Javascript
js中判断文本框是否为空的两种方法
Jul 31 #Javascript
You might like
一些 PHP 管理系统程序中的后门
2009/08/05 PHP
分享php多功能图片处理类
2016/05/15 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
JavaScript 版本自动生成文章摘要
2008/07/23 Javascript
理解Javascript_13_执行模型详解
2010/10/20 Javascript
自己编写的类似JS的trim方法
2013/10/09 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
2014/04/25 Javascript
node.js中的fs.appendFile方法使用说明
2014/12/17 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
2016/05/31 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
JS禁止查看网页源代码的实现方法
2016/10/12 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
2017/01/20 Javascript
Angular通过angular-cli来搭建web前端项目的方法
2017/07/27 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
2017/12/25 Javascript
Angularjs实现数组随机排序的方法
2018/10/02 Javascript
详解js动态获取浏览器或页面等容器的宽高
2019/03/13 Javascript
python实现bucket排序算法实例分析
2015/05/04 Python
Python实现二分查找算法实例
2015/05/26 Python
使用Python读取安卓手机的屏幕分辨率方法
2018/03/31 Python
基于PyQt4和PySide实现输入对话框效果
2019/02/27 Python
Python matplotlib画图与中文设置操作实例分析
2019/04/23 Python
基于python实现百度翻译功能
2019/05/09 Python
500行代码使用python写个微信小游戏飞机大战游戏
2019/10/16 Python
python 字段拆分详解
2019/12/17 Python
Python读取分割压缩TXT文本文件实例
2020/02/14 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
2020/09/15 Python
python中用Scrapy实现定时爬虫的实例讲解
2021/01/18 Python
成人大专自我鉴定范文
2013/10/19 职场文书
《维生素c的故事》教学反思
2014/02/18 职场文书
个人收入证明范本
2014/09/18 职场文书
2014全年工作总结
2014/11/27 职场文书
2019 入党申请书范文
2019/07/10 职场文书
教你使用Python pypinyin库实现汉字转拼音
2021/05/27 Python
如何开启Apache,Nginx和IIS服务器的GZIP压缩功能
2022/04/29 Servers