次のように、実行時間の長いjQuery Ajax呼び出し(たとえば5秒)があるとします。
$.ajax({
url: '/LongCall',
type: 'POST',
async: true,
cache: false,
datatype: 'json',
success: function(data) {
alert('Success!');
},
error(xhr, textStatus, errorThrown) {
alert('Error!');
}
});
ここで、5秒間のプロセスが実行されるのを待っている間に、ユーザーが焦り、ページで何らかのナビゲーションを実行することにしたとします。上記の呼び出しで発生するのは、ユーザーがリンクをクリックするとエラーアラートを受け取ることです。
本当にエラーが発生した場合にエラーアラートを表示したいのですが、ユーザーが移動することを決定しただけの場合は、エラーアラートを表示したくありません。これどうやってするの?
言い換えれば、発生したエラーは単にプロセスが中断されたためにエラーを無視することができるということを教えてくれる、チェックできる値(xhr.statusかもしれませんか?)はありますか?
ありがとう!