如何在ajax中通过php访问javascript中关联数组的元素
所以我要做的是从一个由ajax函数调用的php文件中回显一个多维数组 这是php文件中的数组的外观:如何在ajax中通过php访问javascript中关联数组的元素,javascript,php,jquery,arrays,ajax,Javascript,Php,Jquery,Arrays,Ajax,所以我要做的是从一个由ajax函数调用的php文件中回显一个多维数组 这是php文件中的数组的外观: Array ( [0] => Array ( [username] => klara [lev] => 0 ) [1] => Array ( [username] => mira [lev] => 0 ) [2] => Array (
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]=[
因此,输出如下所示:
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循环并尝试提取元素,那么它将提取响应中的每个字符
那么,我应该如何获得响应中的行数,以及如何获得username的值呢。也就是说,我希望将行数设为7,并提取名称“klara”、“mira”等。我应该如何做?我真的是新手,所以任何帮助都将不胜感激。非常感谢
非常感谢!:) 用于将字符串转换为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]);
您有一个数组,每个数组元素都是一个javascript对象,具有属性
name
和lev
。使用对象表示法访问它们…在迭代数组时,不要在数组上使用object.keys()
,确保在ajax请求上设置dataType:'json'
,也确保使用json\u encode()
在php数组上…javascript无法读取php数组的var dump当您设置正确的数据类型且数组元素对象没有属性时无需自行解析[0]
Hi@Vladu Ionut非常感谢您的回复…我尝试了您的建议,数组长度的输出确实为7,但响应为[0][0],我得到了未定义的输出..有什么想法吗?@KlaraNewbie,原因与我上面提到的完全相同。。。数组元素是对象,而不是中的数组javascript@charlietfl哦,好的,那么我应该如何解决这个问题呢?阅读链接的答案/教程…您需要迭代主数组并访问该循环中的每个对象