Unfortunately, one legacy system I worked with didn't do this. So I used jQuery's ajaxPrefilter on the client to modify the calling method.
ajaxPrefilter demo
Use comparison
// After transformation
$.post('/ajax/dir/page/action',{page:1})
// Before transformation
$.post('/ajax.php',{
dir : 'dir',
page : 'page',
action : 'action',
args : JSON.stringify( { page:1 })
});