我显然对查询返回的行进行了过度处理,但是我并不真正了解PHP资源以及行数和数组。
这是我的数据库调用:
$result=mysql_query($query);
if(mysql_num_rows($result)>0){
header('Content-type: application/json');
$rows = array();
while($r = mysql_fetch_assoc($result)){
$rows[] = array($r);
}
echo json_encode($rows);
};
这就是我在Javascript中返回的内容:
Object {data: Array[23], status: 200, config: Object, statusText: "OK"}
data: Array[23]
0:Array[1] <-- superfluous
0: Object
Name: "foo"
Order: "0"
uID: "1"
1:Array[1] <-- superfluous
0: Object
Name: "bar"
Order: "1"
uID: "2"
...
那里有多余的数组层。它看起来应该像这样:
Object {data: Array[23], status: 200, config: Object, statusText: "OK"}
data: Array[23]
0:Object
Name: "foo"
Order: "0"
uID: "1"
1: Object
Name: "bar"
Order: "1"
uID: "2"
...
我很想删除行= array(),但我不知道如何。我不知道如何将我的数据库行正确转换为数组。
最佳答案
首先正确
$rows[] = $r;
然后在javascript中使用JSON.parse
JSON.parse(str);