如何在ajax中从php传递的javascript中访问关联数组的元素

时间:2017-01-29 18:16:57

标签: javascript php jquery arrays ajax

所以我正在做的是我从一个由ajax函数调用的php文件中回显一个多维数组。

这是php文件中的数组:

Array
(
[0] => Array
    (
        [username] => klara
        [lev] => 0
    )

[1] => Array
    (
        [username] => mira
        [lev] => 0
    )

[2] => Array
    (
        [username] => coursera
        [lev] => 0
    )

[3] => Array
    (
        [username] => chang
        [lev] => 2
    )

[4] => Array
    (
        [username] => jack
        [lev] => 3
    )

[5] => Array
    (
        [username] => elon
        [lev] => 4
    )

[6] => Array
    (
        [username] => musk
        [lev] => 7
    )

)

我的Ajax成功函数如下所示:

success: function (response) 
{ 
    alert("response="+response);
    var array_length = Object.keys(response).length;                
    alert("array length="+array_length);

    alert("response[0][0]="+response[0][0]);


}

所以输出如下:

response=[{"username":"klara","lev":0},{"username":"mira","lev":0},{"username":"coursera","lev":0},{"username":"chang","lev":2},{"username":"jack","lev":3},{"username":"elon","lev":4},{"username":"musk","lev":7}]
array length=204
response[0][0]=[

所以发生的事情是“数组长度”是获取响应的长度而不是行数,如果我放置一个for循环并尝试提取元素,则它会提取响应中的每个字符。 / p>

那么我应该如何获得响应中的行数以及如何获取username的值。也就是说,我希望将行数设为7并提取名称“klara”,“mira”等。我该怎么办?我真的很新,所以任何帮助都会受到赞赏。非常感谢!

非常感谢! :)

1 个答案:

答案 0 :(得分:0)

使用JSON.parse将字符串转换为JSON对象。

    response = JSON.parse(response)
    alert("response="+response);
    var array_length = Object.keys(response).length;                
    alert("array length="+array_length);

    alert("response[0][0]="+response[0][0]);