我的问题是我需要检测$.get
何时完成,然后从全局var ajaxGets
中删除自己,并检测ajaxGets
变量何时为空,这样我就可以隐藏我的加载 - 图像。
该页面使用了几个ajax获取。一些独立于用户输入的后台运行,其余的是基于输入的具体获取。
因此,虽然我在$.get
循环中运行了setTimeout
做了自己的事情,但还有其他几个,而不是像下面这样的链接,我需要跟踪。
//psudo
$.get(".....", success(){
$.get("...", success() {
$.get("...")...
}
}
我将它们链接起来,以便按特定顺序获取数据异步。
用户选中几个复选框并点击"更新"并$.get
开始。
如果用户点击"更新"当$.gets
正在进行中时,我认为我可以通过做类似的事来阻止$.gets
的链条
var ajaxGets = []
var req1 = $.get(".....", success(){
var req2 = $.get("...", success() {
var req3 = $.get("...", success(){
})
ajaxGets.push(req3)
})
ajaxGets.push(req2)
})
ajaxGets.push(req1)
然后在我的click
内部获取更新按钮我将中止所有$.gets
并重置包含它们的全局变量,然后再开始$.get
的新查询小号
for (var g in ajaxGets) {
ajaxGets[g].abort();
}
ajaxGets = [];
这很有效。没问题。
但是当$.get
完成后,如何从var ajaxGets
数组中删除特定的$.get
,这样我就可以知道数组是否为空(所有ajax都获得在数组中失败或成功)?
请询问是否有任何不清楚