使用ajax beforeSend修改数据

dev*_*ero 17 ajax jquery

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

$.ajax({
   url: myUrl,
   data: myData,
   type:'post'
});
Run Code Online (Sandbox Code Playgroud)

我希望能够使用添加到myData

$.ajaxSetup({
   beforeSend: function(call){...}
});
Run Code Online (Sandbox Code Playgroud)

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

ver*_*bug 26

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


Mar*_*rio 14

此博客文章介绍了如何使用它$.ajaxSetup来添加数据.它像以下一样积累$.extend :

$.ajaxSetup({
  data:{
    isAjax:true
  }
});
Run Code Online (Sandbox Code Playgroud)


Jov*_*i G 6

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

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