gpt4 book ai didi

javascript - Vanilla JavaScript ajaxStop()

转载 作者:行者123 更新时间:2023-11-30 17:39:39 25 4
gpt4 key购买 nike

有没有人知道在没有 jQuery 开销的情况下使用 ajaxStop() 功能的方法?我试过查看 jQuery 的 GitHub 页面上的源代码,但找不到它或不知道要查看哪些文件。

最佳答案

您可以拦截每个 ajax 调用并自行跟踪它。这应该给你一个想法:

var interceptor = (function(open) {

var activeXhr = [];

XMLHttpRequest.prototype.open = function(method, url, async, user, pass) {

this.addEventListener('readystatechange', function() {

switch(this.readyState){

case 1: // opened request
activeXhr.push(this);
break;

case 4: // request done
var i = activeXhr.indexOf(this);

if(i > -1)
activeXhr.splice(i, 1); // remove finished request

if(!activeXhr.length) // if all requests are done
console.log('ajax stop');

break;
}

}, false);

open.call(this, method, url, async, user, pass);
};

})(XMLHttpRequest.prototype.open);

$.ajax({ url: '/echo/json/', data: { delay: 1 } });
$.ajax({ url: '/echo/json/', data: { delay: 2 } });
$.ajax({ url: '/echo/json/', data: { delay: 3 } });

http://jsfiddle.net/saR2a/

关于javascript - Vanilla JavaScript ajaxStop(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21354910/

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