<MyRusakov.ru />

Написание лайфхаков на Python

Написание лайфхаков на Python

Данный курс научит Вас автоматизировать самые разные задачи на языке Python, благодаря чему Вы сэкономите на рутине тысячи и тысячи часов своей жизни. Курс состоит из 20 примеров в различных областях: файлы и директории, медиа-файлы, Интернет, Web-мастеринг, Unreal Engine. Каждый пример упрощает ту или иную задачу в своей области, при этом каждый из них создаётся прямо на Ваших глазах и тщательно комментируется.

Помимо самих уроков Вы так же получаете и множество упражнений. По сути, Вы создадите свои собственные 20 небольших проектов, благодаря чему у Вас появится и практика, и портфолио.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

Форум сайта MyRusakov.ru

Передача массива из php в js
29.05.2013 21:27:19 Передача массива из php в js Сообщение #1
jeniat

jeniat

Новичок

Новичок

Дата регистрации:
29.05.2013 20:52:10

Сообщений: 1

При передаче запроса на сервер использую объект xmlhttp как описано тут: http://myrusakov.ru/javascript-post.html.

На сервере использую
$result_set = mysql_query("SELECT ...LIMIT 0 , 1;"
or die("Invalid query: " . mysql_error());
while ($row = mysql_fetch_array($result_set, MYSQL_ASSOC))
{
echo(json_encode($row));
}


Потом когда все обработалось на сервере и приходит ответ на клиент, то код такой:
var result = xmlhttp.responseText;
alert(result);

В результате получается вот такое:
{"class_id":"7","class_name":"\u041c\u043e\u0442\u043e\u0446\u0438\u043a\u043b\u044b \u043c\u043e\u0442\u043e\u0440\u043e\u043b\u043b\u0435\u0440\u044b","class_name_short":"\u041c\u043e\u0442\u043e-\u043c\u043e\u0442\u043e","visible":"1","amount_tickets":"15"}

Если на клиенте поменять код на вот такой:
var result = xmlhttp.responseText;
alert(result.class_name);

То получим undefined.

Как же правильно передать массив с сервера на клиент?
Желательно найти решение без использования jQuery.
Заранее спасибо.

P.S. И на сервере и на клиенте используется utf-8.

P.S.S. Вопрос отпал. Решение найдено.
Надо было использовать
var result = JSON.parse(xmlhttp.responseText);
вместо
var result = xmlhttp.responseText;
Профиль Ответить
30.05.2013 04:17:54 Передача массива из php в js Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

{"class_id":"7","class_name":"\u041c\u043e\u0442\u043e\u0446\u0438\u043a\u043b\u044b \u043c\u043e\u0442\u043e\u0440\u043e\u043b\u043b\u0435\u0440\u044b","class_name_short":"\u041c\u043e\u0442\u043e-\u043c\u043e\u0442\u043e","visible":"1","amount_tickets":"15"} - вот это абсолютно правильный результат, используйте и всё нормально будет, главное, и страницы должны быть в UTF-8.
Профиль Ответить