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 相关文章推荐
JavaScript Timer实现代码
Feb 17 Javascript
某人初学javascript的时候写的学习笔记
Dec 30 Javascript
jquery动态添加删除一行数据示例
Jun 12 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
Jul 01 Javascript
javascript 动态创建表格
Jan 08 Javascript
JScript中的条件注释详解
Apr 24 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
Feb 14 Javascript
javascript滚轮事件基础实例讲解(37)
Feb 14 Javascript
结合Vue控制字符和字节的显示个数的示例
May 17 Javascript
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
May 22 Javascript
vue element 中的table动态渲染实现(动态表头)
Nov 21 Javascript
Ant Design的Table组件去除
Oct 24 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 输出简单动态WAP页面
2009/06/09 PHP
了解Joomla 这款来自国外的php网站管理系统
2010/03/11 PHP
推荐25款php中非常有用的类库
2014/09/29 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
2017/02/15 PHP
PHP简单实现解析xml为数组的方法
2018/05/02 PHP
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
javascript实现焦点滚动图效果 具体方法
2013/06/24 Javascript
jQuery实现类似淘宝购物车全选状态示例
2013/06/26 Javascript
JS简单实现元素复制示例附图
2013/11/19 Javascript
根据表格中的某一列进行排序的javascript代码
2013/11/29 Javascript
js实现回放拖拽轨迹从过程上进行分析
2014/06/26 Javascript
jQuery固定浮动侧边栏实现思路及代码
2014/09/28 Javascript
jQuery检测某个元素是否存在代码分享
2015/07/09 Javascript
基于Javascript实现倒计时功能
2016/02/22 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
2017/06/01 Javascript
Linux Centos7.2下安装nodejs&amp;npm配置全局路径的教程
2018/05/15 NodeJs
在小程序/mpvue中使用flyio发起网络请求的方法
2018/09/13 Javascript
vue.js实现h5机器人聊天(测试版)
2020/07/16 Javascript
Python读写配置文件的方法
2015/06/03 Python
Python heapq使用详解及实例代码
2017/01/25 Python
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
python基于ID3思想的决策树
2018/01/03 Python
django表单实现下拉框的示例讲解
2018/05/29 Python
python实现微信每日一句自动发送给喜欢的人
2019/04/29 Python
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
2013/05/18 面试题
管理学专业个人求职信范文
2013/09/21 职场文书
交通专业个人自荐信格式
2013/09/23 职场文书
学校门卫工作职责
2013/12/07 职场文书
购房意向书范本
2014/04/01 职场文书
中层干部培训方案
2014/06/16 职场文书
群众路线个人剖析材料
2014/10/07 职场文书
优秀团支部申报材料
2014/12/26 职场文书
校运会加油稿大全
2015/07/22 职场文书
判断Python中的Nonetype类型
2021/05/25 Python
小喇叭开始广播了! 四十多年前珍贵老照片
2022/05/09 无线电