ajaxStart( handler() )

jQuery API の ajaxStart( handler() ) は、Ajaxリクエスト送信開始時に呼び出すグローバルAjaxイベントハンドラを登録するメソッド。既に進行中のAjaxリクエストがある場合は、実行しない。

引数

handler()

Ajaxリクエスト送信開始時に実行するコールバック関数。

記述方法

jQuery( セレクター ) . ajaxStart( function() {
    jQuery( this ) . text( 'Ajaxリクエスト開始' );
} );

Ajaxリクエスト送信開始時に、セレクターに指定した要素内に、「Ajaxリクエスト開始」と表示する。

記述例

jQuery( '#sample' ) . ajaxStart( function() {
    jQuery( this ) . text( 'Ajaxリクエスト開始' );
} );

Ajaxリクエスト送信開始時に、idが「sample」の要素内に、「Ajaxリクエスト開始」と表示する。

実装例(サンプル)

実装例(サンプル)の動作について

「toggle」ボタンをクリックすると、「jquery-sample-get.php」ファイルの実行結果を読み込み、黄色のボックス要素内に表示する。リクエスト時、「year」「month」「day」のパラメータを送信し、「jquery-sample-get.php」ファイルで取得し、表示する。

Ajaxリクエスト送信開始時、黄色のボックス要素内の最初に、「Ajaxリクエスト開始」と赤色の水平線を追加する。「toggle」ボタンの右横にも「Ajaxリクエスト開始」と表示する。

「toggle」ボタンを、再度クリックすると、元に戻す。

実装例(サンプル)のソースコード

JavaScript

<script>
<!--
jQuery( function() {
    jQuery( '#jquery-sample-message' ) . ajaxStart( function() {
        jQuery( '#jquery-sample-message' ) . text( 'Ajaxリクエスト開始' );
        jQuery( '#jquery-sample-get' ) . append( '<p>Ajaxリクエスト開始</p><hr />' );
    } );
    jQuery( '#jquery-sample-button' ) . toggle(
        function() {
            jQuery . get(
                'jquery-sample-get.php',
                { year: '2011', month: '12', day: '7' },
                function( data ) {
                    jQuery( '#jquery-sample-get' ) . append( data );
                }
                ,'html'
            );
        },
        function() {
            jQuery( '#jquery-sample-get' ) . html( '' );
            jQuery( '#jquery-sample-message' ) . text( '' );
        }
    );
} );
// -->
</script>

CSS

<style type="text/css">
<!--
#jquery-sample {
    margin: 10px;
}
#jquery-sample-get {
    margin: 10px;
    padding: 10px;
    height: 140px;
    background-color: yellow;
    border: 1px solid gray;
    border-radius: 10px;
}
#jquery-sample-get hr {
    height: 1px;
    background-color: red;
}
-->
</style>

HTML

<div id="jquery-sample">
    <p>
        <button id="jquery-sample-button">toggle</button>
        <span id="jquery-sample-message"></span>
    </p>
    <div id="jquery-sample-get"></div>
</div>

読み込むPHPファイル

<p>読み込んだ内容。</p>
<p>年:<?php echo  $_GET['year']; ?>年</p>
<p>月:<?php echo  $_GET['month']; ?>月</p>
<p>日:<?php echo  $_GET['day']; ?>日</p>

スポンサード リンク

カテゴリー: Ajax, API, JavaScript, jQuery, グローバルAjaxイベントハンドラ タグ: パーマリンク