Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с Json при помощи prototype.js (Ajax), как обрабатывать данные? 
V
    Опции темы
AtaL
Дата 29.1.2007, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 18.2.2006

Репутация: нет
Всего: нет



Посадили изучать аякс, все, как обычно, срочно. smile Помогите, пожалуйста.
Работа идет с библиотекой prototype.js, задача следующая: при загрузке страницы забрать код из файла-источника, вставить как <option>...<option>  в выбранный селект.

Возникла проблема с форматом Json, не знаю, как привести его к нужному виду.

что получилось:

Код

function a() {
        var url = "http://developer5.dzu/?action=JsonTest";
        var pars = $F('models');
        alert(url);
        var myAjax = new Ajax.Request(url, 
        {
            method: 'get', 
            parameters: pars, 
            onComplete: fillSelect
        });
    }


при этом в функции fillSelect() в originalRequest.responseText оказывается полный текст исходного txt-файла:


{models: [

  
  {"model": "SE"}
,
  
  {"model": "Motorola"}
,
  
  {"model": "Nokia"}

]}


Значения "model" должны быть подставлены в теги <option></option>.

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

PM   Вверх
AtaL
Дата 29.1.2007, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 18.2.2006

Репутация: нет
Всего: нет



updated:

заработал следующий код:

Код

var data = eval('('+originalRequest.responseText+')');


В data оказывается массив объектов, далее все просто. Оказалось, способ неверный, задача стоит на использование evalJSON().

Кто-нибудь может привести пример использования?
PM   Вверх
Sardar
Дата 29.1.2007, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 3
Всего: 317



AtaL, по идее разницы почти никакой.   ajax.request.evalJSON() достаёт JSON код из заголовка X-JSON что генерит твой сервер, а в твоём последнем посте ты берёшь код из responseText. В итоге используется eval, только источник инфы разный. Подумай где она находиться, выбери "правильный" метод.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
AtaL
Дата 30.1.2007, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 18.2.2006

Репутация: нет
Всего: нет



Да, в ходе экспериментов пришла к тому же выводу smile Спасибо!
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0413 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.