以前に投稿されたJSON解析の質問がたくさんあることは知っていますが、どれも私を助けてくれませんでした。
PHPからajax経由でJSONを自分のページに送り返しています。JSONLint.comによると、私は有効なJSONを使用しています。
私の問題は、オブジェクトのプロパティにアクセスするたびに、それらが未定義として返されることです。私console.log
はjsonオブジェクトで、問題なく出力されます。私は混乱しています!
PHP
$returnData[] = array("trainingAccess" => "$trainingAccess",
"destinationUrl" => "$destinationUrl", "errorMessage" => "$errorMessage");
echo json_encode($returnData);
JS
$.ajax({
type: "POST",
url: "submit_login.php",
data: {
userName: $("#userName").val(),
password: $("#password").val()
},
success: function(data) {
var obj = JSON.parse(data);
console.log(obj);//Works
alert(obj.destinationURL);//Doesn't work.
}
解決
私はPHPで配列の配列を作成していました。
$returnData = array("trainingAccess" => "$trainingAccess",
"destinationUrl" => "$destinationUrl", "errorMessage" => "$errorMessage");