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>

sample

コールバック関数の引数では、第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日

同じカテゴリー(Ajax)のエントリー

検索

スポンサードリンク

バージョン

リファレンス