ajaxComplete()
ajaxComplete()は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 ).ajaxComplete(function() {
$( ".log" ).text( "Triggered ajaxComplete handler." );
});
$( ".trigger" ).click(function() {
$( ".result" ).load( "/" );
});
</script>
コールバック関数の引数では、第1引数でAjax Event、第2引数でjqXHRオブジェクト、第3引数でAjaxオプションを取得できます。
ajaxComplete()はグローバルイベントとして設定される為、スクリプト内のAjaxすべてに対して実行されますが、以下のように実行時のAjaxオプションを利用して特定のURLへのリクエストが完了した場合にのみ処理を実行するなどの制御が可能です。
$( document ).ajaxComplete(function( event, xhr, settings ) {
if ( settings.url === "ajax/test.html" ) {
$( ".log" ).text( "Triggered ajaxComplete handler. The result is " +
xhr.responseText );
}
});
jQuery 1.0.0での追加/変更ajaxComplete()はjQuery 1.0で定義されたメソッドです。
参考URL
.ajaxComplete() | jQuery API Documentation
登録日 : 2014年07月13日 最終更新日 : 2014年8月5日