Unfortunately, one of the legacy systems I used didn't do that. The Ajaxprefilter of jquery on the client was then used to transform the calling method.
Copy Code code as follows:
<title>ajaxprefilter demo</title>
<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>
Use of comparison
Copy Code code as follows:
After the transformation
$.post ('/ajax/dir/page/action ', {page:1})
Before the transformation
$.post ('/ajax.php ', {
Dir: ' dir ',
Page: ' Page ',
Action: ' Action ',
Args:JSON.stringify ({page:1})
});