javascript - 如何通过鼠标单击来中断 ajax 请求
问题描述
鼠标单击按钮 A 后触发第一个 ajax 请求。根据收到的响应触发另一个 ajax 请求。这另一个请求在 ajaxComplete 事件处理程序中触发。所以我的连续 ajax 请求链运行良好。现在我有一个条件,如果单击按钮 B,我需要打破 ajax 链。
代码在 Chrome 浏览器中运行。对于 Firefox,按钮 B 的 onclick 不会被触发。通用$(document).on('click'..事件也没有被捕获。
$.ajax({
url: url,
async: false,
type: post,
dataType: dataType,
data: data,
success: xyz,
error: abc
});
...
xyz = function() { binded = true }
...
$(document).ajaxComplete(function() {
if(binded || binded=='true') {
//fire ajax requests again and again till server gives timeout
}
});
$(document).on('click', 'input[id=openApplication]', function(event) {
binded = false;
alert('Breaking ajax loop');
// do form submit using Input - Sumbit type
});
解决方案
推荐阅读
- jenkins - 如何使用 Nuget.exe 获取特定安装的 Nuget 包的版本?
- r - 将嵌套列表的单个元素从因子转换为字符
- java - Java中是否有任何东西可以将系统属性的范围更改为WAR?
- python-3.x - Tensorflow 对象检测 API:在 Cityscapes 数据上推理预训练的 Kitti 模型导致准确性低
- javascript - 单击时执行功能会出错
- r - 有没有更简洁的方法将文本/标签添加到多条垂直线:geom_vline()?
- c# - 对象的全局声明和使用数组 C#
- javascript - 如何从具有多个标签的内部 HTML 中获取 href?
- asp.net-core - 使用从 IdentityUser 继承的自定义用户类时出错
- c# - 多重继承使数据库上的列重复并发生冲突