ページの読み込み時に $.ajax 呼び出しを介してページ データを取得するアプリケーションがあります(「クリック」などの他のバインディングはありません)。あるシナリオでは、応答が到着する前にユーザーがページをリロードする (または別のページに移動する) と、アプリケーションはステータス コード 0 のエラーを返します (エラー イベントajaxError()がトリガーされます)。
宿題をしていて、SO (および他の多くの場所) を読んでいるときに、次のことを行うことで、この種のエラーを単に無視する投稿に出くわしました。
$(document).ajaxError(function(e, jqxhr, settings, exception) {
if (jqxhr.readyState == 0 || jqxhr.status == 0) {
return; //Skip this error
}
});
この種のエラーだけが無視されると推測しても安全ですか? 「特別な注意」が必要なネガティブなシナリオはありますか?
また:
「return false;」を入力するという同様の問題への返信をいくつか見つけました。または「preventDefault」で問題が解決しました。しかし、私の場合、すべてがページの読み込み時に発生しているため、言及されたイベントのいずれにも「フック」することはできません...またはできますか?
編集:ここでの追加の質問は次のとおりです:これらの状況を処理する他の方法はありますか(ページのリロードによってajaxリクエストが中断されます)? 問題は、一般的な ajaxError イベントにエラー報告をバインドしていて、このようなメッセージを除外したい (または、そもそも発生しないようにしたい) ことです。