基本上,我想创建一个通用的beforeSend
函数来改变每个jQuery.ajax
方法发送的数据,这样我就可以为每个请求添加一个自定义变量(用于跟踪),而不需要知道它的顺序。请求已发送。
例如,假设我想计算特定用户在特定页面上发送的请求数量。
这样的事情:
var numRequests = 0;
$.ajaxSetup({
beforeSend: function(jqXHR, Obj){
console.log(arguments);
dataToBeSent.numRequests = ++numRequests;
}
});
$.ajax({
url: 'test.js',
data: {testVar:1,testVar:"2",testVar:{3:1}},
complete: function(){
console.log('complete');
}
});
这可能吗?
我在这里有一个基本的JSfiddle:http://jsfiddle.net/kY5UP/
答案 0 :(得分:0)
您可以传递这样的额外数据:
var numRequests = 0;
$.ajaxSetup({
beforeSend: function(jqXHR, Obj){
console.log(Obj.data);
//this code line adds extra parameter to the request
Obj.data = $.extend(Obj.data, {numRequests: ++numRequests});
}
});
$.ajax({
url: 'test.js',
data: {testVar:1,testVar:"2",testVar:{3:1}},
complete: function(){
console.log('complete');
}
});
答案 1 :(得分:-1)
是..你可以这样做:
var numRequests = 0;
$.ajaxSetup({
beforeSend: function(jqXHR, Obj){
console.log(Obj.data);
Obj.data.numRequests = ++numRequests;
}
});
$.ajax({
url: 'test.js',
data: {testVar:1,testVar:"2",testVar:{3:1}},
complete: function(){
console.log('complete');
}
});