javascript - 使用 jQuery.ajaxSetup 定义 beforeSend 并更改发送的数据

标签 javascript jquery ajax

基本上,我想创建一个通用的 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/

相关文章:

javascript - Vue/Webpack/Typescript - 如何使用 jQuery 插件

javascript - 重构在 Adob​​e 括号中可用

javascript - 无法使用 jQuery 获取 HTML 表行值

javascript - 无法从 JavaScript 循环打开 PHP 文件

node.js - axios 可以 GET 但不能 POST 到同一 URL

javascript - jQuery,数组问题

javascript - 将 Cell 渲染成特定元素?

javascript - 输入文件 - 更改数据按钮文本的文本按钮

javascript - jQuery自调用函数无法访问变量?

jQuery:将 AJAX 内容加载到 'this' 的父级中