我显然对查询返回的行进行了过度处理,但是我并不真正了解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);

09-03 19:25