次のようなリンクがあります。
<a href="page.html" onclick="loadAjax();">link</a>
page.html のロードには非常に時間がかかります (サーバー側のプロセスが長いため)。
loadAjax 関数は次のようになります。
function loadAjax() {
setTimeout(function() {
$.getJSON('otherPage.json', function(data) {
$.each(data, function(key, val) {
//do something
});
});
}, 2000);
}
しかし、リンクをクリックすると、page.html が読み込まれ、Ajax クエリが停止します。Chrome の開発者ツールでは、otherPage.json の横に「キャンセル」と表示されます。
したがって、page.html のプロセスによって変更されたデータを取得するため、page.html のロードが開始された後に otherPage.json をロードする必要があります。