我先写JSON:
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
print json_encode(array(
"array" => $arr
));
然后在jQuery中我做了:
j.post("notifications.php", {}, function(data){
现在这就像我通常做的那样有点困惑:
data.array
获取数据,但我不知道如何处理数组。 data.array[1]
无效。
谢谢!
答案 0 :(得分:1)
PHP的关联数组成为javascript中的对象(哈希)。
data.array.a === 1
data.array.b === 2
// etc
如果您想枚举这些值
for ( var p in data.array )
{
if ( data.array.hasOwnProperty( p ) )
{
alert( p + ' = ' + data.array[p] );
}
}
答案 1 :(得分:0)
@Peter已经解释过,关联数组在PHP中被编码为JSON对象。
所以您也可以将PHP数组更改为:
$arr = array(1,2,3,4,5); // or array('a', 'b', 'c', 'd', 'e');
然而,另一个重点是确保jQuery将服务器的响应识别为JSON而不是文本。为此,将第四个参数传递给post()
函数:
j.post("notifications.php", {}, function(data){...}, 'json');