2010-05-07 2 views
1

Я пытаюсь вернуть PHP ассоциативного массива в массив яваскрипта через ajaxRequest.responseTextвернуть PHP ассоциативного массива яваскрипта массива

Вот что я делаю.

Первый в PHP, я делаю это:

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

Если я эхо $ закодированы, я получаю { "A": "яблоко, стрелка", "б": "мальчик, банк", "с ":" кошка, лагерь "}

Затем в JS скрипта,

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

Если я предупрежу thisarray, я получаю {" A ":" яблоко, стрелку " "б":" мальчик, банк "," c ":" cat, camp "}

Tha t, так как предупреждение массива должно давать ошибку. Но в этом случае, когда я предупреждаю об этом, я получаю полный массив!

Излишне говорить, что я не могу назвать свое значение из thisarray, поскольку он еще не определен как массив.

Любой может сказать мне, что мне здесь не хватает?

ответ

3

Вам нужно разобрать строку JSON в JavaScript для получения объекта, желательно с родной объект JSON вашего браузера, если таковые имеются:

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

В противном случае вы можете использовать JSON parser from JSON.org или jQuery.parseJSON если вы уже используя jQuery.

+0

Спасибо! Em ... родной объект JSON .... это вызывает еще одну проблему. Является ли перекрестный браузер JSON.parse? –

+0

Получил ответ здесь: http://stackoverflow.com/questions/891299/browser-native-json-support-window-json –

+0

Похоже, что он поддерживает только самые последние версии. Существуют ли другие решения, которые могут использоваться для браузеров с низким уровнем доступа? –

Смежные вопросы