jQuery ajax 路由和过滤器使用说明_Javascript教程-查字典教程网
jQuery ajax 路由和过滤器使用说明
jQuery ajax 路由和过滤器使用说明
发布时间:2016-12-30 来源:查字典编辑
摘要:遗憾的是,我用到的一个遗留系统并没有做到这样。于是在客户端应用jQuery的ajaxPrefilter改造了一下调用方法。复制代码代码如下:...

遗憾的是,我用到的一个遗留系统并没有做到这样。于是在客户端应用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教程学习
    编程开发子分类