我正在使用以下代码挂钩 XMLHttpRequest 打开/发送方法:
var lastParams = '';
var send = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function(data){
lastParams = data;
send.call(this, data);
};
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,
params: lastParams,
responseText: self.responseText
};
console.log(response);
}
}, false);
open.call(this, method, uri, async, user, pass);
};
在一次单个ajax请求的情况下它工作正常。
当一次触发多个 ajax 请求时,lastParams 可能包含错误的数据(意味着 lastParams 可能包含来自其他 ajax 请求的数据)。我想将 lastParams 与请求的其他属性唯一关联吗?
XMLHttpRequest 中是否有任何 id 属性,以便我可以唯一标识 ajax 请求实例?
提前致谢。