繁体   English   中英

jQuery-忽略两次AJAX调用?

[英]jQuery - ignore double AJAX calls?

我在多个位置附加了AJAX调用(不幸的是,不仅按钮,而且还有链接,表单和其他内容),我知道如何手动处理(找到我进行AJAX调用的每个位置,然后在第一次调用时阻止/覆盖按钮),我想知道是否有一种方法可以更自动地进行?

如果我们在谈论jQuery-也许是插件? 会起作用的东西吗? :)

拥有以下内容将是完美的:

if clicked element has .ajax class 
  block all ajax requests if the current one is still live

然后,我将.ajax类添加到每个按钮/链接/无论触发请求和请求的方式。 像这样的东西存在吗?

您可以创建一个全局变量:

loadingAjax = false;

每当事件触发时,您可以使用以下命令将此变量设置为TRUE:

$("selector").click(function(){
  if(!loadingAjax){
    loadingAjax = true;
    $.ajax(options)..
  }
});

并且当ajax停止时,您应该将loadingAjax重新设置为false:

$( document ).ajaxStop(function() {
    loadingAjax = false
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM