javascript - jQuery.ajax 检查是否已经有另一个 xhr

标签 javascript ajax jquery

如果用户位于页面底部附近,我会加载下一页。

我最近刚刚将其切换到 jQuery,现在使用 jQuery.ajax() 函数来获取数据。但是,现在我无法检查 xhr 是否已经加载,从而使页面在用户接近底部时加载多个 xhr。

我的听众是:

$(document).scroll(function () {
            if(/* scrollbar is near bottom */)
            loadxhr(dat++); //function that calls jQuery.ajax()
        }
});

基本上,您可以在全局范围内跟踪调用的就绪状态吗?

最佳答案

我只有一个变量(在函数之外)

var scrolling = 0;

当调用ajax函数时,检查scrolling是否等于0,否则不执行任何操作;如果相等,则设置为1,调用ajax函数,并在后者的回调中将其设置回0。

有点像抢占式多线程系统中的“锁”,只不过你在这里并不真正需要锁(这也是一件好事,因为 javascript 没有锁;-)因为你的控制线程只是当您调用 ajax 函数时中断,而不是像抢占式多线程那样在代码中的任意位置中断。

关于javascript - jQuery.ajax 检查是否已经有另一个 xhr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3067310/

相关文章:

javascript - JQuery 获取点击事件的 .on 监听器的子选择器的值

javascript - 显示并停留在鼠标悬停上的 Div - 即使在鼠标悬停时也保持悬停状态

jquery - 轨道 4 : Rendering JSON object (from AJAX response) into view

jquery - ajax 调用成功后重定向消息

php - 在ajax post mysql上形成序列化非法字符串偏移量 ''

javascript - 数据列表 : detect if event input is launched by a click on item or a Key pressed

javascript - 客户端 JavaScript 代码分析

javascript - Angular 2 - 无法使用 Array.filter 读取未定义错误的属性

javascript - SerializeArray 表行包含输入和/或文本。如何?

javascript - 无法在 head 开头插入元标记