gpt4 book ai didi

javascript - 如何在任何 XMLHttpRequest 完成时运行函数?

转载 作者:数据小太阳 更新时间:2023-10-29 04:06:18 26 4
gpt4 key购买 nike

我正在处理一个项目,其中包含多个我无法更改的脚本。这些脚本通过 AJAX 更新页面。更新完成后,我需要运行一些代码。

当任何 XMLHttpRequest 完成时是否会触发任何事件? (或任何 XMLHttpRequest 状态更改?)。

不幸的是,我无法访问用于发出请求的特定 XMLHttpRequest 对象。

谢谢,

最佳答案

如果没有 jQuery,您可以 Hook open 方法,以便在 XHR 对象 open 时为每个 XHR 对象的 readystatechange 事件附加一个监听器>编辑。确保在任何 Ajax 发生之前运行以下代码:

// save the real open
var oldOpen = XMLHttpRequest.prototype.open;

function onStateChange(event) {
// fires on every readystatechange ever
// use `this` to determine which XHR object fired the change event
}

XMLHttpRequest.prototype.open = function() {
// when an XHR object is opened, add a listener for its readystatechange events
this.addEventListener("readystatechange", onStateChange)

// run the real `open`
oldOpen.apply(this, arguments);
}

或者,如果您只关心成功的load 事件,您可以监听该事件而不是readystatechange

关于javascript - 如何在任何 XMLHttpRequest 完成时运行函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18259301/

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