无法将PHP生成的JSON读入我的javascript
我使用AJAX请求一个返回JSON的php文件无法将PHP生成的JSON读入我的javascript,javascript,php,jquery,ajax,json,Javascript,Php,Jquery,Ajax,Json,我使用AJAX请求一个返回JSON的php文件 $.ajax({ url: 'php/invoice.php', dataType: "json", data: {id: 1}, type: 'post', success: function(response) { alert(response); } }); im使用的php文件通过json_encode响应json: whil
$.ajax({ url: 'php/invoice.php',
dataType: "json",
data: {id: 1},
type: 'post',
success: function(response) {
alert(response);
}
});
im使用的php文件通过json_encode响应json:
while($row = mysqli_fetch_assoc($result))
{
$queryResults[] = $row;
}
echo json_encode($queryResults);
php返回的内容的一个示例是:
[{“id”:“1”,“firstname”:“Brent”,“lastname”:“Doe”,“telephone”:“88888888”,“zip”:“11111”}]
当我发出警报(响应)时,我得到的是“[对象]”
我想提醒的是json中的名字或任何其他属性,即“Brent”
Iv'e已尝试警报(响应。名字);它返回为未定义
iv'e还试图从ajax请求中删除数据类型:“json”,并在通过var obj=$.parseJSON(response)和alert(obj.firstname)返回json时解析json
我不知道我做错了什么,我也不知道为什么在我使用json编码时json周围会出现[]。我假设它是因为它从json对象返回一个数组,这可能是我的问题?我是新手,非常感谢您的帮助和资源
我做了几个小时的研究,仍然找不到答案。提前谢谢 您遇到的问题是,您的响应返回一个对象数组。您应该能够使用
响应[0]获取名字。名字问题就在这里(正如@echeese首先指出的)
注意JSON的外观(注意[…]
?)
也就是说:
0 => {"id":"1","firstname":"Brent","lastname":"Doe","telephone":"888888888","zip":"11111"}
您需要这样访问它:
response[0].firstname
响应是一个数组,因此您必须执行响应[0]。firstname
。看看我链接到的问题,它解释了如何访问(嵌套)数组和对象。谢谢,这解决了它!我会看看那个问题,感觉好像我看了很多问题,但一定错过了那个问题!再来一次谢谢!我想我已经试过了所有的组合。但这解决了问题。非常感谢您的回复。只要它允许我,我会尽快回答马克!
0 => {"id":"1","firstname":"Brent","lastname":"Doe","telephone":"888888888","zip":"11111"}
response[0].firstname