ajaxError()
ajaxError()はAjaxリクエストが失敗した際に実行されるイベントを指定できるメソッドです。
$( document )に指定することによりjQueryで行なったAjax処理が失敗した際に引数に指定したコールバック関数が実行されます。
グローバルイベントとして設定される為、スクリプト内のAjaxすべてに対して実行されます。
以下のサンプルではload()が失敗した際にclass属性「log」がついた要素内のテキストをtext()を利用して書き換えています。
<div class="log"></div>
<div class="trigger">Trigger</div>
<div class="result"></div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$( document ).ajaxError(function() {
$( ".log" ).text( "Triggere dajaxError handler." );
});
$( ".trigger" ).click(function() {
$( ".result" ).load( "/404.html" );
});
</script>
コールバック関数の引数では、第1引数でAjax Event、第2引数でjqXHRオブジェクト、第3引数でAjaxオプション、第4引数でエラーオブジェクトを取得できます。
ajaxError()はグローバルイベントとして設定される為、スクリプト内のAjaxすべてに対して実行されますが、以下のように実行時のAjaxオプションを利用して特定のURLへのリクエストが失敗した場合にのみ処理を実行するなどの制御が可能です。
$( document ).ajaxError(function( event, jqxhr, settings, thrownError ) {
if ( settings.url == "ajax/missing.html" ) {
$( "div.log" ).text( "Triggered ajaxError handler." );
}
});
参考URL
.ajaxError() | jQuery API Documentation
登録日 : 2014年07月21日 最終更新日 : 2014年7月27日