我知道以前发过很多JSON解析问题,但没有一个能帮助我。
我通过ajax从PHP发送JSON回到我的页面。根据JSONLint.com,我使用的是有效的JSON。
我的问题是,每当我访问我的对象的属性时,它们都会以未定义的形式返回。我console.log
json对象,它很好。我很困惑!
$returnData[] = array("trainingAccess" => "$trainingAccess",
"destinationUrl" => "$destinationUrl", "errorMessage" => "$errorMessage");
echo json_encode($returnData);
$.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");
答案 0 :(得分:2)
试
alert(obj[0].destinationUrl);
大写小写问题。
编辑以显示其他人看到的实际解决方案......
答案 1 :(得分:2)
ajax
方法将猜测结果的数据类型,如果它具有正确的内容类型,则可能会解析它。
指定数据类型,以便确定发生了什么,然后您知道已经为您解析了数据:
$.ajax({
type: "POST",
url: "submit_login.php",
data: {
userName: $("#userName").val(),
password: $("#password").val()
},
dataType: 'json',
success: function(data) {
console.log(data);
alert(data[0].destinationUrl);
}