挂钩到XMLHttpRequest方法以更改所有请求的选项

时间:2016-12-13 05:29:07

标签: javascript xmlhttprequest

我遇到第三方组件的问题,我能想到的唯一方法是更改​​XMLHttpRequest默认行为并将 withCredentials 设置为 true 。我只是不知道应该使用哪种方法。

我已经尝试了构造函数打开方法。我使用的一般代码如下所示:

var oldOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function(){
  this.withCredentials = true;

  oldOpen.apply(this, arguments);
}

我还尝试在响应标头中设置 Access-Control-Allow-Credentials

   <add name="Access-Control-Allow-Credentials" value="true"/>

1 个答案:

答案 0 :(得分:0)

我需要覆盖构造函数。要覆盖构造函数,您需要执行以下步骤:

var xp = XMLHttpRequest.prototype;
XMLHttpRequest = function (args) {
    var obj = new xp.constructor(args);
    obj.withCredentials = true;
    return obj;
};
XMLHttpRequest.prototype = xp;