gpt4 book ai didi

javascript - Hook 到 XMLHttpRequest 打开和发送方法

转载 作者:行者123 更新时间:2023-11-29 22:24:25 26 4
gpt4 key购买 nike

我正在使用以下代码挂接到 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 请求实例?

提前致谢。

最佳答案

看看https://github.com/jpillora/xhookdemos

//modify 'responseText' of 'example2.txt'
xhook.after(function(request, response) {
if(request.url.match(/example\.txt$/)) {
response.text = response.text.replace(/[aeiou]/g,'z');
}
});

关于javascript - Hook 到 XMLHttpRequest 打开和发送方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10479228/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com