使用ajax beforeSend修改数据

时间:2010-08-19 12:10:24

标签: jquery ajax

假设我有一个来自jQuery的Ajax调用:

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

我希望能够使用

添加到myData
$.ajaxSetup({
   beforeSend: function(call){...}
});

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

3 个答案:

答案 0 :(得分:26)

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

答案 1 :(得分:14)

This blog post说明了如何使用$.ajaxSetup添加数据。它积累像$.extend 就这样做:

$.ajaxSetup({
  data:{
    isAjax:true
  }
});

答案 2 :(得分:6)

你可以在$ .ajax();

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