我点击复选框时尝试停止活动的ajax请求。我激活了一个ajax,它每秒调用一个url,但当我取消选中该复选框时,我试图关闭ajax请求。我尝试使用listener.abort();并且它不起作用,我也添加了xhr.abort(),没有任何事情发生。 有什么建议吗?
function listener() {
$.get('http://localhost:3000/get-value', function (dataf) {
if (dataf.result != "") {
$.ajax({
url: "http://localhost:8000/login",
data: { pId: dataf.result },
type: "POST",
success: function (result) {
if (result.name != "") {
$.get('http://localhost:3000/close-conn');
window.location.href = result.url;
}
}
});
}
setTimeout(listener, 1000);
});
}
function GetCheckStatus() {
var flag = chkAuto.GetValue();
if (flag) {
$.ajax({
url: "http://localhost:3000/open-conn",
type: "GET",
});
listener();
} else {
$.ajax({
url: "http://localhost:3000/close-conn",
type: "GET",
});
// Doesnt work
listener.abort();
}
}
答案 0 :(得分:1)
您正在调用函数的.abort()方法,而不是实际的请求对象。尝试这样的事情。
为$ .get请求和setTimeout定义变量,然后根据需要中止/清除它们。
equal_range