javasriptのライブラリjQueryにおいて非同期通信であるajax処理を行う際、通信の処理状態に関するイベントの備忘録です。非同期処理は隙あらば他の仕事をやりだしたりなんだりで滅茶苦茶になりやすいためタイミングの監視が重要になります。いずれも
$(document).ajaxHogehoge(function() {
//処理内容
});
で処理を記述できます。この様に記述された処理はajaxによる通信が起きた場合、どのajax通信でも呼び出されます。また、これとは別にDeferredとして.done(),.complete()などをajax()につなげることで、特定の通信に限った処理ができます。いつでも呼び出される.ajaxHogehoge()は以下の通りです。
.ajaxStart() | 他のajax通信が行われていない状態でajax通信が呼び出された時、つまりajax通信の一番最初に実行されます。 |
.ajaxSend() | ajax通信が送信される前に実行されます。通信のたびに実行されます。 |
.ajaxSuccess() | ajax通信が成功するたびに実行されます。 |
.ajaxError() | ajax通信が失敗するたびに実行されます。 |
.ajaxComplete() | 成功失敗関わらず、ajax通信が完了するたびに実行されます。 |
.ajaxStop() | 他のajax通信が行われていない状態でajax通信が完了した時、つまりajax通信の一番最後に実行されます。 |