我有这个ajax请求:
var rootURL = "http://localhost/myapp/api/api.php";
$.ajax({
type: 'GET',
url: rootURL + '/favourites',
dataType: "json",
success: function(list) {
},
error: function(list) {
}
});
并且api.php对DB和编码结果进行查询
echo '{"result": ' . json_encode($result) . '}';
是这样的:
{
"result": [
{
"ID": "1",
"username": "username1",
"name": "name1",
"year": "year1"
},
{
"ID": "2",
"username": "username2",
"name": "name2",
"year": "year2"
}
]
}
现在如何在Javascript中的list
回调中获取并打印JSON结果success
的两行?
我试过这个:
var decoded = JSON.parse( lista );
但收到错误:JSON.parse: unexpected character at line 1 column 1 of the JSON data
由于
答案 0 :(得分:4)
您不需要解析,只需要在结果中迭代数组。
这样做:
success: function(list) {
$.each(list.result,function(index,item){
console.log(item);
});
}
答案 1 :(得分:2)
请勿致电JSON.parse
。当你说dataType: "json"
时,jQuery会为你做这件事。 list
是一个对象。所以只需访问包含结果数组的list.result
。
此外,您的PHP不应该像这样手工构建JSON。应该这样做:
echo json_encode(array('result' => $result));