ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery.getJSON()関数の使い方を詳しく解説
jQuery.getJSON() 関数は、HTTP GET 形式の AJAX リクエストを通じてリモートの JSON エンコードされたデータを取得するために使用されます。
JSON はデータ形式です。JS は、jQuery.getJSON() を通じてサーバーから取得した JSON データを、まず対応する JS オブジェクトに変換しようとします。
リクエストされたURLに「callback=?」などが含まれている場合、jQueryは自動的にJSONPとして扱い、対応するコールバック関数を実行してJSONデータを取得します。
重要な注意事項: サーバーから返される JSON データは、厳密な JSON 構文に準拠する必要があります。たとえば、すべての属性名は二重引用符で囲む必要があり、すべての string 値も二重引用符で囲む必要があります (一重引用符)。
この関数はデータを非同期的にロードすることに注意してください。
この関数はグローバル jQuery オブジェクトに属します。
Syntax
jQuery 1.0 では、この静的関数が追加されています。
jQuery.getJSON( url [, data ] [, success ] )
Parameters
パラメータの説明
url String型でリクエストのターゲットURLを指定します。
data Optional/String/Object classtypeは、リクエストによって渡されたデータを送信します。
success Function タイプのリクエストが成功したときに実行されるオプション/コールバック関数。これには 3 つのパラメータがあります。1 つはリクエストによって返されたデータ、もう 1 つはリクエストのステータス テキスト (「success」、「notmodified」など)、3 つ目は現在の jqXHR オブジェクト (jQuery 1.4 以前のバージョンではこのパラメータ)はネイティブの XMLHttpRequest オブジェクトです)。
success パラメータで指定されたコールバック関数は、リクエストが成功した場合にのみ実行され、リクエストが失敗した場合 (ページが見つからない、サーバーエラーなど)、処理は実行されません。
戻り値
jQuery.getJSON()関数の戻り値は jqXHR 型で、リクエストを送信した jqXHR オブジェクトを返します (jQuery 1.4 以前のバージョンはネイティブ XMLHttpRequest オブジェクトを返します)。
例と説明
jQuery.getJSON() は、jQuery.ajax() 関数の次の略語です:
jQuery.getJSON(url, data, success); // 等价于 $.ajax({ url: url, type: "GET", data: data, success: success, dataType: "json" });
次の HTML サンプル コードを参照してください:
<div id="content1">CodePlayer</div> <div id="content2">专注于编程开发技术分享</div> <div id="content3">http://www.365mini.com</div>
以下は、jQuery.getJSON() に関連しています。 jQuery.getJSON() 関数の具体的な使用法を示す関数 jQuery サンプル コード:
//获取index.php?type=json的JSON数据,但不作任何处理 $.getJSON( "index.php?type=json" ); // 等价于 index.php?id=5&orderId=5&money=100 $.getJSON( "index.php?id=5", "orderId=5&money=100" ); // 等价于 http://localhost/index.php?id=5&orderId=5&money=100 $.getJSON( "http://localhost/index.php?id=5", {orderId: 5, money: 100} ); /* ***** 一般不会使用上述不对获取的JSON数据作任何处理的用法***** */ // 获取index.php?type=json的JSON数据,获取成功时弹出对话框 $.getJSON( "index.php?type=json", function(data, textStatus, jqXHR){ // data 是该请求返回的数据(可能经过处理) // textStatus 可能是"success"、 "notmodified"等 // jqXHR 是经过jQuery封装的XMLHttpRequest对象(保留其本身的所有属性和方法) // 如果服务器返回的JSON格式的数据是 {"id": 5, "name": "CodePlayer"} // JSON格式的数据的属性名称必须加双引号,字符串值必须加双引号。 // jQuery已经将其转换成对应的JS对象 alert( data.id ); // 5 alert( data.name ); // CodePlayer } ); // 获取"/action.php?m=list&page=2&size=10"的JSON数据,获取成功时弹出对话框 $.getJSON( "/action.php?m=list", { page: 2, size: 10 }, function(data, textStatus, jqXHR){ // 如果服务器返回的JSON格式的数据是 [ {"id":11, "title":"文章11"}, {"id":12, "title":"文章12"}, {"id":13, "title":"文章13"} ] // jQuery将获取的JSON格式数据转换为JS数组 for(var i in data){ var obj = data[i]; alert( obj.title ); } } );
以上がjQuery.getJSON()関数の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。