我使用AJAX请求返回JSON的php文件
$.ajax({ url: 'php/invoice.php',
dataType: "json",
data: {id: 1},
type: 'post',
success: function(response) {
alert(response);
}
});
使用的php文件是通过json_encode回显json:
while($row = mysqli_fetch_assoc($result))
{
$queryResults[] = $row;
}
echo json_encode($queryResults);
php发回的一个例子是:
[{ “ID”: “1”, “姓名”: “布伦特”, “姓”: “Doe的”, “电话”: “888888888”, “拉链”: “11111”}]
当我发出警报(响应)时,我得到的是“[对象]”
我想要的是提醒json中的名字或任何其他属性,即。 “布伦特”
我试过警报(response.firstname);它以未定义的形式返回。
iv'e还尝试从ajax请求中删除dataType:“json”,并在通过var obj = $ .parseJSON(response)和alert(obj.firstname)返回时解析json
我不知道我做错了什么,当我使用json编码时,我也不知道为什么在json周围有[]。我假设它,因为它从json对象返回一个数组,这可能是我的问题?我是新手,非常感谢任何帮助或资源!
我做了几个小时的研究,仍然无法找到答案。提前谢谢!
答案 0 :(得分:1)
问题出在这里(正如 @echeese 首先指出的那样)
while($row = mysqli_fetch_assoc($result))
{
$queryResults[] = $row;
}
echo json_encode($queryResults);
注意JSON的外观(注意[..]
?)
[{"id":"1","firstname":"Brent","lastname":"Doe","telephone":"888888888","zip":"11111"}]
它转化为:
0 => {"id":"1","firstname":"Brent","lastname":"Doe","telephone":"888888888","zip":"11111"}
你需要像这样访问它:
response[0].firstname
答案 1 :(得分:0)
您遇到的问题是您的响应正在返回一个对象数组。您应该可以使用response[0].firstname