前提・実現したいこと
phpで作成した配列をjsでajaxを使って
echoやprint_rなどを使わないで受け取りたい。
該当のソースコード
php
1//ajax.php 2<?php 3$data = [ 4 "test"=>[ 5 [ 6 "色"=>"赤", 7 "形"=>"丸", 8 "硬度"=>"固い" 9 ], 10 [ 11 "色"=>"青", 12 "形"=>"四角", 13 "硬度"=>"固い" 14 ], 15 [ 16 "色"=>"緑", 17 "形"=>"丸", 18 "硬度"=>"柔らかい" 19 ], 20 ] 21]; 22print_r($data); //print_rすると一応表示はされる 23 ?>
js
1$(function () { 2 // Ajax 3 $.ajax({ 4 url: 'ajax.php', 5 type: "POST", 6 dataType: "json", 7 success: function(data){ 8 var dataArray = data.test; 9 console.log(dataArray); //なにも表示されない
試したこと
jsのurl部分をphpではなく下記のようなjsonファイルの場合は正常に表示される
test.json
json
1{ 2 "test":[ 3 { 4 "色":"赤", 5 "形":"丸", 6 "硬度":"固い" 7 }, 8 { 9 "色":"青", 10 "形":"四角", 11 "硬度":"固い" 12 }, 13 { 14 "色":"緑", 15 "形":"丸", 16 "硬度":"柔らかい" 17 } 18 ] 19}
また、ajax.phpに上記のjsonを読み込んだ場合も正常に表示されました。
php
1$url = "test.json"; 2$json = file_get_contents($url); 3$json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN'); 4echo $json;
補足情報(FW/ツールのバージョンなど)
Chromeのコンソールでみた際には下記のように表示させたいです。
(3) [{…}, {…}, {…}] 0:{色:"赤" 形:"丸", 硬度:"固い"} 1:{色:"青" 形:"四角", 硬度:"固い"} 2:{色:"緑" 形:"丸", 硬度:"柔らかい"} length:3 __proto__:Array(0)
ご教示宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー