如果用户单击前进/后退按钮时出现未完成的 AJAX 调用,我将使用以下代码abort()。中止调用一切都很好,但之后对该函数的 future 调用将不起作用。当我尝试在中止后调用 swapContent() 时,它什么也不做。中止后如何再次调用 AJAX 函数?
全局
var ajax;
AJAX
function swapContent() {
ajax = $.ajax({
type: 'GET',
data: params,
url: 'content.php',
success: function(data) {
$('#browser').html(data);
},
error:function(e){
// Error
}
});
}
onPopstate
$(window).on('popstate', function() {
// Abort active requests
if(ajax && ajax.readystate != 4){
ajax.abort();
}
});
最佳答案
将ajax设置回null:
$(window).on('popstate', function() {
if(ajax && ajax.readystate != 4){
ajax.abort();
ajax = null;
}
});
关于javascript - abort() onPopstate 之后 AJAX 停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36875422/