json generatorにて生成したデータをhttpのGETメソッドにて取得し画面へ表示させるサンプルを作成しております(実現性検証)。当方、製造の経験もなく試行錯誤しながら検証を行っておりますがいよいよ行き詰ったためご相談いたします。
やりたいこと
ボタンをクリックした際に、指定したjson形式のデータを取得し画面に表示したい
参考にしたサイトjQuery $.ajaxで通信を行ってJSONを取得するサンプル
現状
通信の確認はできたが、データの取得・表示(コメント//3.~5.が実現できない)
・data1の変数宣言がないので宣言するべき?どこで?
例...friendsの1番目のname など、、、
※下図のデータ内容参照
コード
javascript
1 //ajaxTest 2 $(function () { 3 $('#btn1').click( 4 function () { 5 $("out6").html("ajaxにてデータ取得します"); 6 7 8 //1.$.ajaxメソッドで通信を行う 9 // dataでは、フォームの内容をserialize()している 10 // →serialize()の内容は、cs1=custom1&cs2=custom2 11 $.ajax({ 12 url: 'http://www.json-generator.com/api/json/get/cfzfHNIVki?indent=2', 13 type: 'GET', 14 datatype: 'json', 15 //2. doneは通信に成功したときに実行される処理 16 //引数のdata1は通信で取得したデータ 17 //引数のtextstatusは通信結果のステータス 18 //引数のjqzXHRは、XMLHttpRequestオブジェクト 19 }).done(function (data1, textStatus, jqXHR) { 20 $("#out1").html(jqXHR.status); 21 $("#out2").html(textStatus); 22 23 //3. キーを指定して値を表示 24 $("#out4").html(data1["age"]); 25 26 //4.オブジェクトをjson形式の文字列に変換 27 var data2 = JSON.stringify(data1); 28 console.log(data2);//コンソールへjson形式で表示 29 30 //5.json形式の文字列をオブジェクトにし、キーを指定して値を表示 31 //キーを指定して値(/www.json-generator.com/api/json/)を表示 32 var data3 = JSON.parse(data2); 33 $("#out5").html(data3["friends[0]"],["name"]); 34 35 //6. failは、通信に失敗したときに実行される 36 }).fail(function (jqXHR, textStatus, errorThrown) { 37 $("#out1").html(jqXHR.status); //jqXHR.statusを表示 38 $("#out2").html(textStatus); //textStatusを表示 39 $("#out3").html(errorThrown); //errorThrownを表示 40 41 //7. always は 成功、失敗に関わらず実行 42 43 }).always(function (){ 44 $("#out6").html("complete"); //表示3 45 46 }); 47 48 }); 49 });
html
1<p>jqXHR.statusを表示:<span id="out1"></span></p> 2<p>textStatusを表示:<span id="out2"></span></p> 3<p>errorThrownを表示:<span id="out3"></span></p> 4<p>表示1(out4):<span id="out4"></span></p> 5<p>表示2(out5):<span id="out5"></span></p> 6<p>表示3(out6):<span id="out6"></span></p> 7 8<div class="tab-pane" id="sampleContentC"> 9 <p>ATC送信架No.3の内容</p> 10 <p>ボタンを押すと通信が始まります</p> 11 12 <form id="form1"> 13 <input type="button" id="btn1" value="ボタン1"><br /> 14 テキストボックス1<br /> 15 <input type="text" name="cs1" value="custom1" maxlength="10"><br /> 16 テキストボックス2<br /> 17 <input type="text" name="cs2" value="custom2" maxlength="10"> 18 </form> 19 </div> 20
ご教授願います。
console.log(data1)を追加し、実行した際のキャプチャ
サンプルjson(一部抜粋)
json
1[ 2 { 3 "_id": "5b0b4f0cbd378d1875f3f77e", 4 "index": 0, 5 "guid": "493476ca-aeac-47d0-bc92-0f68ed69a450", 6 "isActive": false, 7 "balance": "$1,357.46", 8 "picture": "http://placehold.it/32x32", 9 "age": 26, 10 "eyeColor": "brown", 11 "name": "Rowland Baird", 12 "gender": "male", 13 "company": "GEEKMOSIS", 14 "email": "rowlandbaird@geekmosis.com", 15 "phone": "+1 (901) 473-3099", 16 "address": "763 Aurelia Court, Woodruff, Palau, 9489", 17 "about": "Ullamco anim sit dolore enim nostrud in sunt deserunt consequat anim ut. Eiusmod eu incididunt ut consectetur. Non laborum reprehenderit pariatur eu commodo ad excepteur quis aliquip exercitation proident in.\r\n", 18 "registered": "2017-09-04T10:00:50 -09:00", 19 "latitude": 4.862184, 20 "longitude": -106.437544, 21 "tags": [ 22 "incididunt", 23 "tempor", 24 "sint", 25 "amet", 26 "consequat", 27 "mollit", 28 "aute" 29 ], 30 "friends": [ 31 { 32 "id": 0, 33 "name": "Weiss Dale" 34 }, 35 { 36 "id": 1, 37 "name": "Kristen Hardin" 38 }, 39 { 40 "id": 2, 41 "name": "Stewart Foley" 42 } 43 ],






回答1件
あなたの回答
tips
プレビュー