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