我通过json_encode从php返回数据
while($row = mysql_fetch_assoc($results)){
echo json_encode($row);
}
现在当我控制台登录时,我得到了 {"用户名":"培育""运动":"网球""纬度":" 19.166901""经度":" 72.951720"} {"用户名":" anirudh""运动&# 34;:"橄榄球""纬度":" 19.218330""经度":" 72.978088"}
问题是我如何获得对返回字段的访问权限。它作为一个字符串返回。当我做JSON.parse 我收到错误
VM1115:1 Uncaught SyntaxError: Unexpected token { in JSON at position 85
at JSON.parse (<anonymous>)
at Object.success (form.js:43)
at j (jquery.min.js:2)
at Object.fireWith [as resolveWith] (jquery.min.js:2)
at x (jquery.min.js:4)
at XMLHttpRequest.b (jquery.min.js:4)
请建议。
非常感谢 Archit Wahi
答案 0 :(得分:0)
您不需要解析json数据。只需使用data.objectname
答案 1 :(得分:0)
你创建json的方式,你将难以在js中解析它。 这是你应该采取的方式。
$result = array();
while($row = mysql_fetch_assoc($results))
{
$result[] = $row;
}
echo json_encode($result);
这将为您提供一个json,您可以使用以下方法解析:
var result = JSON.parse(thePHPresult);
并且您的JSON将类似于:
[{"field_1":1,"field_2":"test1"},{"field_1":2,"field_2":"test2"},{"field_1":3,"field_2":"test3"}]
这是一个JSON数组,可以加入:
var theJSON = [{"field_1":1,"field_2":"test1"},{"field_1":2,"field_2":"test2"},{"field_1":3,"field_2":"test3"}];
for(var i=0; i< theJSON.length; i++)
{
console.log(theJSON[i].field_2);
}
答案 2 :(得分:0)
您必须将行添加到数组中,然后,您可以回显json_encode()的结果。在每个行之后回显的简单行都是无效的JSON。
答案 3 :(得分:-1)
当您从数据库获得一个结果时,或者当您有多行时,是否会收到错误?
如果您将所有行存储在一个数组中,然后回显json编码数组,那么这会解决您的问题吗?