var open = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function(method, uri, async, user, pass) {
this.addEventListener("readystatechange", function(event) {
if(this.readyState == 4){
var self = this;
var response = {
method: method,
uri: uri,
responseText: self.responseText
};
console.log(response);
} else {
console.log(this.readyState);
}
}, false);
open.call(this, method, uri, async, user, pass);
};
我正在尝试在发送 XHR 之前收听它们。方法中类似于 jQuery 的beforeSend的东西$.ajax
。
我的目标是在发送所有 XHR 之前收听它们。我想最接近的事情是检查上面是否this.readyState === 1
?
上面的代码会因为我使用原型而导致任何 ajax 库(如 jQuery)发生故障XMLHttpRequest
吗?