使用ajax beforeSend修改数据

假设我有一个来自jQuery的Ajax调用,如下所示:

$.ajax({ url: myUrl, data: myData, type:'post' }); 

我希望能够使用添加到myData

 $.ajaxSetup({ beforeSend: function(call){...} }); 

结果应该是所有ajax调用(post和get)都被修改,所以如果我得到一个额外的参数IsAjax = true

此博客文章介绍了如何使用$.ajaxSetup添加数据。 它像$.extend一样积累就这样做:

 $.ajaxSetup({ data:{ isAjax:true } }); 
 $.ajaxSetup({ beforeSend: function(jqXHR, settings) { settings.data = $.extend(settings.data, {isAjax: true}); return true; } }); 

你可以在$ .ajax()中实际使用beforeSend;

 $.ajax({ beforeSend: function(xhr){ this.data += '&' + $.param({ param: 'test' }); } });