JavaScript - 拦截任何添加参数的ajax请求

时间:2018-04-04 14:22:25

标签: javascript

我创建了一个简单的JavaScript代码来拦截任何AJAX请求,并想要添加一个我需要在服务器端读取的额外参数(Java)。到目前为止,我已经使用不同类型的请求测试了此代码,无论是否有jquery,都可以正常工作:

(function(open) {
    XMLHttpRequest.prototype.send = function() {
        console.log('Start a new AJAX request');
        var myExtraParam = 'ABC123'; // value that I need to send, but it's dynamically, it will come from a function
        open.apply(this);
    };
})(XMLHttpRequest.prototype.send);

我一直在寻找的是在这个场景中附加额外参数的方法,变量" myExtraParam"当我调用apply方法时。

我使用纯JavaScript

修改的: 作为参数,我想知道我可以在服务器中读取的值,例如:myurl?myExtraParam=ABC123

1 个答案:

答案 0 :(得分:0)

设置参数似乎需要处理查询字符串或将其附加到请求正文。更安全的事情似乎是使用标题。

(function() {
  var orgSend = window.XMLHttpRequest.prototype.send;
  window.XMLHttpRequest.prototype.send = function() {
    this.setRequestHeader("foo", "bar")
    return orgSend.apply(this, [].slice.call(arguments));
  };
})();