2010-05-07 56 views
1

我試圖通過ajaxRequest.responseText返回一個PHP關聯數組的JavaScript陣列

到PHP關聯數組返回JavaScript數組這是我做的。

首先在PHP中,我這樣做:

$encoded = json_encode($thisarray); 
echo $encoded; 

如果我贊同$編碼,我得到{ 「一」: 「蘋果,箭頭」 中, 「b」: 「小子,銀行」,「C 「:」 貓營 「}

然後在js腳本,

thisarray = new Array(); 
thisarray = ajaxRequest.responseText; 

如果我提醒thisarray,我得到{」 一 「:」 蘋果,箭頭 「 」b「:」 小子,銀行「,」c「:」cat,camp「}

Tha由於警告數組應該給出錯誤,因此t是錯誤的。但在這種情況下,當我提醒這個陣容時,我會得到完整陣列!不用說,我不能從我的數組中調用我的值,因爲它尚未定義爲數組。

任何人都可以告訴我我在這裏錯過了什麼?

回答

3

您需要解析JavaScript中的JSON字符串獲取對象,最好用瀏覽器的原生JSON對象,如果有的話:

var thisarray = JSON.parse(ajaxRequest.responseText); 

否則,您可以使用JSON parser from JSON.orgjQuery.parseJSON如果你已經在使用jQuery。

+0

謝謝! Em ...本機JSON對象....帶來了另一個問題。 JSON.parse是否跨瀏覽器? – 2010-05-07 12:12:53

+0

得到了答案在這裏:http://stackoverflow.com/questions/891299/browser-native-json-support-window-json – 2010-05-07 12:14:58

+0

看起來它只支持最新版本。是否有其他解決方案可用於低端瀏覽器? – 2010-05-07 12:16:14

相關問題