[英]Cannot get JSON echo from PHP to $.ajax
while($row = $result->fetch_array()) {
array_push($json_result,
array('crewID'=>$row[0],
'FName'=>$row[1],
'LName'=>$row[2],
'smBook'=>$row[3],
'contactNo'=>$row[4],
'email'=>$row[5],
'address'=>$row[6],
'birthday'=>$row[7],
'emergencyCN'=>$row[8],
'emergencyPerson'=>$row[9],
'loyaltyCN'=>$row[10]));
}
echo json_encode(array($json_result),JSON_PRETTY_PRINT);
这是我的jQuery代码:
function displayGuestData(guestID) {
$.ajax({
url:"functions/f_get_guests_json.php",
method:"POST",
data:{guestID:guestID},
dataType: "json",
success:function(response) {
alert(response.FName);
}
});
}
现在我的问题是,当我警告任何JSON数据(例如FName
时,我收到一个未定义的错误。 可能是什么问题呢? 我是jQuery中的JSON新手。 我的PHP中甚至包含以下代码:
header("Content-Type: application/json", true);
编辑:
这是JSON:
[
{
"crewID": "4",
"FName": "Abc Abc",
"LName": "Abc",
"smBook": "ABC123",
"contactNo": "12312312",
"email": "asdasd@yahoo.com",
"address": "56 Sasdasd Asds",
"birthday": "1995-06-11",
"emergencyCN": "12312312",
"emergencyPerson": "asdasdasd",
"loyaltyCN": "ABC123"
}
]
我认为问题出在这里;
success: function(response){
alert(response.FName);
}
据我所知,您正在返回一个包含您的结果的数组。 因此,也许您应该尝试将以上内容更改为以下内容:
success: function(response){
alert(response[0].FName);
}
这将访问数组中的第一个结果,并继续进行访问,然后警告其FName
属性的内容。
使用console.log(response)
是查看要处理的完整对象的好方法,因此可以弄清楚如何使用它。
由于您提供了输出json,因此看来您有一个包含结果数组的数组。
如果您使用console.log
但是您需要response[0][0].FName
来穿刺两个数组,就可以清楚地看到这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.