jquery - 如何在引导模式关闭时停止递归 Ajax 轮询?
问题描述
当特定的引导模式打开时,我正在调用 ajax 轮询函数,它运行良好,但是当我强制关闭 BS 模式时,轮询函数应该停止,但它会在后台继续触发。
我不知道我做错了什么。使用引导程序 4。
这是我的js脚本,
var run = function() {
$.ajax({
url: ajaxurl,
dataType: 'json',
type: 'GET',
data: data,
success: function (data) {
var list = data.list;
$("#modal").on('hidden.bs.modal', function (e) {
clearTimeout(recursive);
console.log('stop');
});
if (list > 0) {
recursive = setTimeout(run, 2000);
console.log('run');
} else if (list == 0) {
clearTimeout(recursive);
console.log('stop');
}
}
});
}
更新:
我以这种方式尝试过,但无法正常工作。
var recursive;
$("#modal").on('shown.bs.modal', function (e) {
run();
});
$("#modal").on('hidden.bs.modal', function (e) {
clearTimeout(recursive);
});
var run = function() {
$.ajax({
url: ajaxurl,
dataType: 'json',
type: 'GET',
data: data,
success: function (data) {
var list = data.list;
if (list > 0) {
recursive = setTimeout(run, 2000);
console.log('run');
} else if (list == 0) {
clearTimeout(recursive);
console.log('stop');
}
}
});
}
解决方案
推荐阅读
- python - 为什么我的源熊猫数据框没有在以下函数中更新?
- gerrit - Gerrit 将补丁集移动到合并的分支
- reactjs - 用打字稿反应地图 gl
- azure - Azure DevOps 管道期间的 SBT 凭据
- java - 如何在 JSON 中使用 oneOf 并使用 Jackson 生成 java 对象
- html - 如何根据元素的颜色Hexcode值在mat-cell中设置按钮或图标颜色
- ios - iOS 通用链接在 react-native iOS 中不起作用
- typescript - Typescript:如何将库接口中的属性从可选覆盖到必需
- javascript - moment(aDate).utcOffset(aDate).format() 方法正在剥离日期,例如 +00:00Z
- php - 如何在 WordPress 循环中使用 ajax 加载下一页?