前提・実現したいこと
現状jsonのデータをjsで読み込み、htmlでページに出力しているのですが、
この状態だとjsonの中のデータが見れてしまうため(urlで直接アクセスなど)
データを丸ごとそのままの形でphp内に記述しjsで出力したいです。
該当のソースコード
json
1{ 2 "test":[ 3 { 4 "id": 1, 5 "type":"aaa", 6 "color":"red" 7 }, 8 { 9 "id": 2, 10 "type":"aaa", 11 "color":"blue" 12 }, 13 { 14 "id": 3, 15 "type":"bbb", 16 "color":"blue" 17 } 18 ] 19}
js
1 $.ajax({ 2 url: '/json/data.json', 3 type: "POST", 4 success: function(data){ 5 var dataArray = data.test; 6 console.log(dataArray);
としていて、dataArrayの中は
(5) [{…}, {…}, {…}, {…}, {…}] 0:{"id": 1,"type":"aaa","color":"red", …} 1:{"id": 2,"type":"aaa","color":"blue", …} 2:{"id": 3,"type":"bbb","color":"blue", …} length:3 __proto__:Array(0)
のようになっています。
Chromeのデバロッパーツールのコンソールで確認してます。
phpにデータを記述し、
上記のdataArrayと同じ状態でjsで出力するにはどのように記述したらよろしいでのでしょうか?
ご教示よろしくおねがいします。
追記
ちょっと穴はあるのですが、
ひとまずjsonファイルをphpで読み込む形にしました。
php
1<?php 2$url = "json/data.json"; 3$json = file_get_contents($url); 4$json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN'); 5$arr = json_decode($json,true); 6var_dump($arr); 7 ?>
このような感じで$arrにデータは入れました。
しかし、当たり前ですが下記でうまくdataArrayに入れることができない状態です。
js
1 $.ajax({ 2 url: '/json/data.json', 3 type: "POST", 4 success: function(data){ 5 var dataArray = data.test; 6 console.log(dataArray);
どのようにしてdataArrayに$arrを入れるのでしょうか?
<?php echo $hoge; ?>;
のような形はそのままテキストとして出力されてしまいました。
回答3件
あなたの回答
tips
プレビュー