作家
登录

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

作者: 来源:www.28hudong.com 2013-03-30 00:47:54 阅读 我要评论

遗憾的是,我用到的一个遗留系统并没有做到这样。于是在客户端应用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 }) });

  推荐阅读

  读jQuery之十一 添加事件核心方法

这篇看看其源码,这个add定义如下(省略大部分) 复制代码 代码如下: add: function( elem, types, handler, data ) { if ( elem.nodeType === 3 || elem.nodeType === 8 ) { return; } ... } 定义了四个参数elem>>>详细阅读


本文标题:jQuery ajax 路由和过滤器使用说明

地址:http://www.17bianji.com/kaifa2/JS/24352.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)