【发布时间】:2018-03-07 14:04:30
【问题描述】:
为了编写 Wiktor (https://stackoverflow.com/a/43338063/7666076) 发布的代码,如何在单击某个按钮(“暂停”和“播放”等两个不同的按钮)后暂停和恢复发送 ajax 请求。
还有如何在单击“暂停”按钮后立即中断当前的 ajax 请求。我不想等待将由 ajax 查询获取的新数据。
这是我改编的代码:
function RefreshData()
{
console.log('Sending AJAX request...');
$.ajax({
type: "GET",
url: "getAjaxRequest.php?"+device+"&callback=?",
dataType: "jsonp"
}).done(function(dataJSON) {
adaptJsonData(dataJSON);
console.log('success');
}).fail(function() {
console.log('error');
}).always(function() {
intervalTime = 100;
console.log('Waiting '+intervalTime+' miliseconds...');
setTimeout(RefreshData, intervalTime);
});
return true;
}
function adaptJsonData(dataJSON) {
# ... some logic with dataJSON object
}
【问题讨论】:
-
将
$.ajax(...赋值给一个变量,然后您可以像foo.abort()一样中止正在进行的请求。
标签: javascript jquery ajax