Subbay.ru
Четверг, 23.11.2017, 17:11
Мини-чат

Вход на сайт

Архив записей

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » 2017 » Сентябрь » 9 » Работа с ajax, обработка xml
17:04
Работа с ajax, обработка xml

С появлением фреймворков, таких как: jquery, mootools, prototype — работать с ajax стало намного проще. Ваши аякс-запросы будут работать во всех браузерах, а для вызова нужной функции достаточно написать пару строчек кода.

Сейчас я покажу на примере, как работать с ajax с помощью jquery. Допустим нам надо обновлять корзину покупок для интернет-магазина. Сервер выдает нам следующий xml код.

<?xml version='1.0'?>
<response>
<id>1</id>
<price><![CDATA[<font class='price'>2460 руб.</font>]]></price>
<id>2</id>
<price><![CDATA[<font class='price'>3500 руб.</font>]]></price>
<id>3</id>
<price><![CDATA[<font class='price'>5000 руб.</font>]]></price>
</response>


Для того, чтобы содержимое элемента price воспринималось как данные, мы должны заключить его в секцию CDATA.

function post()
{
 $.post
 (
 '/shop/',
 {type:"xml"},
 someResult
 );
}

function someResult(data)
{
 var new_array=new Array;
 //Получаем коллекцию всех элементов price
 var price = $("price", data);

 $.each(price, function(i, val) {
 //Забиваем массив информацией о ценах
 new_array[i]=val.firstChild.nodeValue;
 //или записываем результат в строку
 str+=i+" - "+val.firstChild.nodeValue+"<br/>";
 });

 $("div.basket").html(str);
}

Итак мы написали 2 функции. Вторая функция автоматически выполняется, когда будет получен ответ с сервера. Переменной data присваивается значение responseText, т.е. текст ответа с сервера.

В конце скрипта мы выводим результат в div с классом basket.

Просмотров: 25 | Добавил: Rockfeller
Всего комментариев: 0
avatar
Бегущая строка в HTMLWWW.SUBBAY.RU
Copyright Subbay.ru © 2017
uCoz