jQuery ajax 路由和过滤器使用说明
发布时间:2020-12-14 22:48:15 所属栏目:资源 来源:网络整理
导读:遗憾的是,我用到的一个遗留系统并没有做到这样。于是在客户端应用jQuery的ajaxPrefilter改造了一下调用方法。 复制代码 代码如下: html head titleajaxPrefilter demo/title /head body script type="text/javascript" src="http://code.jquery.com/jquery-l
遗憾的是,我用到的一个遗留系统并没有做到这样。于是在客户端应用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 }) }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |