Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅显示最近请求的ajax结果_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 仅显示最近请求的ajax结果

Javascript 仅显示最近请求的ajax结果,javascript,jquery,ajax,Javascript,Jquery,Ajax,我经常遇到这样的情况:页面上的某个操作导致ajax请求。当这些动作中的几个动作叠加在一起时,每个ajax请求依次进入并执行其动作(可能会更新项目列表)。这看起来很可怕。我在想一种方法,如果当前没有对相同类型的请求处于“挂起”状态,那么请求只会更新项目列表。想法?保留请求列表。提交请求时,将其添加到列表中。在load和error函数中,将其从列表中删除 因此,在处理加载时,如果堆栈上没有请求,那么它将进行处理,否则将返回null 保留请求列表。提交请求时,将其添加到列表中。在load和error函

我经常遇到这样的情况:页面上的某个操作导致ajax请求。当这些动作中的几个动作叠加在一起时,每个ajax请求依次进入并执行其动作(可能会更新项目列表)。这看起来很可怕。我在想一种方法,如果当前没有对相同类型的请求处于“挂起”状态,那么请求只会更新项目列表。想法?

保留请求列表。提交请求时,将其添加到列表中。在load和error函数中,将其从列表中删除


因此,在处理加载时,如果堆栈上没有请求,那么它将进行处理,否则将返回null

保留请求列表。提交请求时,将其添加到列表中。在load和error函数中,将其从列表中删除

var doing_ajax = false;
$("#action").click(function(){
    if (!doing_ajax){
       doing_ajax = true;
       do_ajax();
    }

});

function do_ajax(){
  $("#content").load('something.php', function(){
      doing_ajax = false;
  });
}
因此,在处理加载时,如果堆栈上没有请求,那么它将进行处理,否则将返回null

您的选择:

var doing_ajax = false;
$("#action").click(function(){
    if (!doing_ajax){
       doing_ajax = true;
       do_ajax();
    }

});

function do_ajax(){
  $("#content").load('something.php', function(){
      doing_ajax = false;
  });
}
  • 保留一个请求列表,并检查该元素是否在列表中。如果它在列表中,则表示请求正在发生。如果不是,您可以启动请求并将其添加到列表中

  • 在发出新请求之前,请中止现有请求。这将导致最后一个请求转到,其他请求将被丢弃,与解决方案1相反

  • 您的选择:

  • 保留一个请求列表,并检查该元素是否在列表中。如果它在列表中,则表示请求正在发生。如果不是,您可以启动请求并将其添加到列表中

  • 在发出新请求之前,请中止现有请求。这将导致最后一个请求转到,其他请求将被丢弃,与解决方案1相反


  • 到目前为止你有什么代码?到目前为止你有什么代码?