当用户离开页面时,我似乎无法获取此ajax请求。我不知道为什么。问题是客户端在用户离开页面之前等待请求完成。这是一个很大的要求,因为它需要大约5-7秒才能完成。因此,如果用户在请求正在进行时离开此页面,则必须在加载下一页之前等待该时间。这是我的代码。
window.loader = setInterval(load_queued_tasks, 15000);
// function that should run every 15 seconds //
function load_queued_tasks() {
window.loader_ajax_request = $.ajax({
url: "coolpage.php",
type: 'GET',
success: function(data) {
//lots of exciting actions
})
},
error: function() {
return false;
}
}); //end ajax call
}
window.onbeforeunload = function (e) {
//clear the interval timer
window.clearInterval(window.loader);
//abort any running ajax request
window.loader_ajax_request.abort();
};