[英]decoding an JSON array (from PHP) in Javascript (jQuery)
我首先編寫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]
無效。
謝謝!
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] );
}
}
@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');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.