jQuery . getJSON( url [, data] [, success( data, textStatus, jqXHR )] )

jQuery API の jQuery . getJSON( url [, data] [, success( data, textStatus, jqXHR )] ) は、GETメソッドのHTTPリクエストで、JSON形式のデータを、サーバから読み込むメソッド。

引数

url

リクエスト送信先のURLを含む文字列。

「url?callback=?」とすることで、別ドメインにあるJSON形式のデータを呼び出すことができる。

data

オプション。

サーバへ送信するデータ。マップで指定する。

success( data, textStatus, jqXHR )

オプション。

リクエストが成功すると実行するコールバック関数。

data

リクエストに対する戻り値。

textStatus

リクエストの現在の状態。

jqXHR

XMLHttpRequestオブジェクト。

記述方法

jQuery . getJSON( url );

GETメソッドのHTTPリクエストで、「url」に指定したURLからJSON形式のデータを読み込む。

jQuery . getJSON( url, { キー1:1, キー2:2 } );

GETメソッドのHTTPリクエストで、「url」に指定したURLからJSON形式のデータを読み込む。リクエスト時、パラメータを送信。

jQuery . getJSON( url, function( data ) {
    jQuery . each( data, function( key, value ) {
        jQuery( セレクター ) . append( '<p>' + key + ': ' + value + '</p>' );
    } );
} );

GETメソッドのHTTPリクエストで、「url」に指定したURLからJSON形式のデータを読み込む。読み込んだデータを、「セレクター」にマッチする要素内に表示。

記述例

jQuery . getJSON( 'sample.php' );

GETメソッドのHTTPリクエストで、「sample.php」からJSON形式のデータを読み込む。

jQuery . getJSON( 'sample.php', { year: '2011', month: '11', day: '15' } );

GETメソッドのHTTPリクエストで、「sample.php」からJSON形式のデータを読み込む。リクエスト時、「year」「month」「day」のパラメータを送信。

jQuery . getJSON( 'sample.php', function( data ) {
    jQuery . each( data, function( key, value ) {
        jQuery( '#sample' ) . append( '<p>' + key + ': ' + value + '</p>' );
    } );
} );

GETメソッドのHTTPリクエストで、「sample.php」からJSON形式のデータを読み込む。読み込んだデータを、idが「sample」の要素に表示。

実装例(サンプル)

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

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

読み込みが成功すると、「toggle」ボタンの右横に「読み込み成功」と表示する。

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

JavaScript

<script>
<!--
jQuery( function() {
    jQuery( '#jquery-sample-button' ) . toggle(
        function() {
            jQuery . getJSON(
                'jquery-sample-getJSON.php',
                { year: '2011', month: '11', day: '15' },
                function( data, textStatus ) {
                    if( textStatus == 'success' ) {
                        jQuery( '#jquery-sample-textStatus' ) . text( '読み込み成功' );
                    }
                    jQuery . each( data, function( key, value ) {
                        jQuery( '#jquery-sample-getJSON' ) . append( '<p>' + key + ': ' + value + '</p>' );
                    } );
                }
            );
            if( jQuery( '#jquery-sample-textStatus' ) . text() == '' ) {
                jQuery( '#jquery-sample-textStatus' ) . text( '読み込み失敗' );
            }
        },
        function() {
            jQuery( '#jquery-sample-getJSON' ) . html( '' );
            jQuery( '#jquery-sample-textStatus' ) . text( '' );
        }
    );
} );
// -->
</script>

CSS

<style type="text/css">
<!--
#jquery-sample {
    margin: 10px;
    width: 200px;
}
#jquery-sample-getJSON {
    margin: 10px;
    padding: 10px;
    height: 100px;
    background-color: yellow;
    border: 1px solid gray;
    border-radius: 10px;
}
-->
</style>

HTML

<div id="jquery-sample">
    <p>
        <button id="jquery-sample-button">toggle</button>
        <span id="jquery-sample-textStatus"></span>
    </p>
    <div id="jquery-sample-getJSON"></div>
</div>

読み込むPHPファイル

{
    "年": "<?php echo  $_GET['year']; ?>",
    "月": "<?php echo  $_GET['month']; ?>",
    "日": "<?php echo  $_GET['day']; ?>"
}

スポンサード リンク

カテゴリー: Ajax, API, JavaScript, jQuery, 省略形メソッド タグ: パーマリンク