基本上,我想创建一个通用的 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/
最佳答案
您可以像这样传递额外的数据:
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');
}
});
关于javascript - 使用 jQuery.ajaxSetup 定义 beforeSend 并更改发送的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19969677/