ユーザーが進む/戻るボタンをクリックしたときに未完了の AJAX 呼び出しが発生した場合に、次のコードを使用してabort()を実行しています。呼び出しを中止することはすべてうまく機能しますが、その後、関数の将来の呼び出しは機能しなくなります。アボート後に 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();
}
});