Как обработать массив, возвращающийся из вызова AJAX? - PullRequest
0 голосов
/ 08 мая 2011

Я пытаюсь обработать массив, возвращающийся после вызова ajax. Моя текущая ситуация - кнопка нажата, и когда она нажата, она запускает вызов ajax. Вот фрагмент кода PHP после вызова ajax ..

function count_total() {
    $count = get_count();
    if ($count == 0) {
        $count = 1; 
    }
    $total = get_total();
    $response = array('count' => $count, 'total' => $total);
    echo $response;
    exit;
}

Хорошо, теперь эта переменная $ response передается обратно на сторону JS, и, если я оповестю переменную, она, очевидно, скажет «Массив». Итак, мой вопрос, как я могу работать с этим массивом? Я пытаюсь получить ключ / значение?

Или я не могу передать ему массив таким образом?

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 08 мая 2011

измените свое эхо, чтобы быть этим.

echo json_encode($response);

, а затем вместо предупреждения откройте его с помощью библиотеки синтаксического анализатора json , например, .

Тогда у вас будет настоящий javascript объект , а не массив, потому что вы используете ассоциативный массив.

0 голосов
/ 08 мая 2011

PHP не отправляет обратно сам массив, просто слово «Массив».Он может отправлять только простой текст / HTML (или файлы, если вы связываетесь с заголовками).

Изучите либо использование JSON, либо эквивалентный метод, который возьмет массив и поместит его в текстовую форму для восстановления вJavaScript или сверните свой собственный.

Например, вы можете повторить «count = 12; total = 254» из PHP и использовать функцию split () JavaScripts, чтобы разбить его на части.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...