Невозможно отправить ассоциативный массив в формате JSON в Zend клиенту - PullRequest
1 голос
/ 16 февраля 2011

В одном из моих действий в контроллере я использую помощник вида json для отправки ответа на запрос ajax.На стороне клиента я предупреждаю данные, которые передаются в функцию обратного вызова успеха.Он работает нормально, если ответом является число или массив с ключами по умолчанию.Как только я пытаюсь отправить ассоциативный массив, он предупреждает с помощью [объекта объекта].Код сервера:

$childArray = array('key'=>'value');
$this->_helper->json($childArray);

javascript:

function displayChildren(data){
    alert(data);
}
...    
$.ajax({
        url: "/po/add", dataType: "json",
    data: {format: "json"}, success: displayChildren
});

Я понятия не имею, что я делаю не так, поэтому любая помощь будет оценена ...

1 Ответ

2 голосов
/ 16 февраля 2011

Это ожидается.Ассоциативные массивы в Javascript являются объектами.Оповещение не будет повторяться по свойствам объекта и будет просто выводить [объект объекта].Пары ключ / значение, которые вы установили на стороне PHP, находятся там и будут доступны.попробуйте alert(data.key), и вы должны получить value.

...