只显示最近请求的ajax结果
Only show ajax results from the most recent request
我经常遇到这样的情况:页面上的一个操作会引起ajax请求。当这些操作叠加在一起时,每个ajax请求依次进入并执行其操作(可能更新项列表)。这看起来很可怕。我正试图想出一种方法,让一个请求只更新项目列表,如果没有请求相同类型的事情目前"待定"。想法吗?
您的选择:
-
保存一个请求列表,并检查该元素是否在列表中。如果它在列表中,则意味着请求正在发生。如果不是,您可以启动请求并将其添加到列表中。关于jsFiddle的例子
-
在发出新请求之前,终止现有请求。这将导致最后一个请求离开,而其他请求将被丢弃,与解决方案1相反。关于jsFiddle的例子
保留一个请求列表。提交请求时,将其添加到列表中。在load和error函数中,将其从列表中删除。
因此,当您处理加载时,如果堆栈上没有请求,则它将处理,否则它将返回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;
});
}
相关文章:
- 在foreach中获取ajax结果
- 使用blob从ajax结果下载文件
- PHP,MySQL,AJAX-调用AJAX结果后,Bootstrap CSS样式不会显示
- 在文本框中显示ajax结果
- 从回调函数返回 AJAX 结果
- 将AJAX结果作为道具传递给子组件
- 使用passthrough将ajax结果中的变量发送到php
- 等待ajax结果绑定淘汰模型
- 如何重置AJAX结果输入字段
- jquery不解析ajax结果
- 为什么我不能返回 $.ajax 结果,但可以返回 $http.post 的结果
- Javascript:将 AJAX 结果保存为 Class 变量
- Ajax 结果取决于 PHP 结果
- 在 ajax 结果中获取此内容
- 动态处理 ajax 结果
- 在视图页面上显示 AJAX 结果 jQuery
- Ajax 结果显示未定义
- 如何使用 AJAX 结果在点击功能
- 使用 jQuery 在 Ajax 结果中查找节点
- 返回到 ajax 结果页面上上次看到的位置