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。
$.ajax
我的目标是在发送所有XHR之前监听它们。我想最接近的事情是检查上面是否this.readyState === 1?
this.readyState === 1
上面的代码是否会因为我使用原型而导致诸如jQuery之类的ajax库出现故障XMLHttpRequest?
XMLHttpRequest
我正在尝试在发送XHR之前先听它们。
然后尝试欺骗该send()方法,而不是open()一种。
send()
open()
上面的代码是否会因为我在XMLHttpRequest上使用原型而导致jQuery之类的ajax库出现故障?
不,不是。只要,
undefined
return open.apply(this, arguments);