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"
}
]
答案 0 :(得分:2)
我认为问题出在这里;
success: function(response){
alert(response.FName);
}
据我所知,你将返回一个包含结果的数组。 所以也许您应该尝试将上述内容更改为以下内容;
success: function(response){
alert(response[0].FName);
}
这将访问数组中的第一个结果,然后继续访问,然后提醒它的FName
属性的内容。
使用console.log(response)
是查看处理完整对象的好方法,因此可以确定如何使用它。
由于您提供了输出json,因此看起来您有一个包含结果数组的数组。
如果您使用console.log
但是需要response[0][0].FName
穿透两个数组,您将能够清楚地看到这一点。