我在多个地方附加了AJAX调用(不幸的是不仅是按钮,还有链接,表单和其他内容),我知道如何手动处理(找到我做AJAX调用的每个地方然后阻止/覆盖按钮在第一次通话期间,我想知道是否有更自动化的方法?
如果我们正在谈论jQuery - 也许是一个插件?什么会起作用? :)
完美地拥有类似的东西:
if clicked element has .ajax class
block all ajax requests if the current one is still live
然后我将.ajax类添加到每个按钮/链接/触发请求的任何内容和瞧。有这样的事吗?
答案 0 :(得分:4)
您可以创建全局变量:
loadingAjax = false;
每当事件触发时,您可以使用:
将此变量设置为TRUE$("selector").click(function(){
if(!loadingAjax){
loadingAjax = true;
$.ajax(options)..
}
});
当ajax停止时,你应该将loadingAjax变回false:
$( document ).ajaxStop(function() {
loadingAjax = false
});