Alex.Antipin
Новичок
AJAX + Cookies
Господа, такая задача:
Имеется большоой список элементов (каталог товаров), загружаемый на страницу при помощи аякса.
При клике по соответствующей галочке напротив конкретного элемента происходит отправка на сервер id товара опять же с помощью аякса.
на сервере скрипт ищет в БД инфу о товаре (цену, к примеру), подсчитывает количество отмеченных товаров и в качестве ответа возвращает XML с этой информацией, которая отображается на странице.
Разумеется, данные о текущем заказе нужно где-то хранить. Сначала я попробовал вариант с БД и сессиями (табличка с двумя полями - sessid и itemId ) и все вроде работало, но данный вариант нерационален, т.к. нагружает сервер.
Попробовал хранить массив id товаров в кукисах. Куки устанавливаются, однако при попытке получить массив обратно ничего не выходит.
Может это как-то связано с аяксом? Имеются ли какие-то особенности при работе с куками и использованием технологии аякс?
Ну и для ясности приведу код:
Господа, такая задача:
Имеется большоой список элементов (каталог товаров), загружаемый на страницу при помощи аякса.
При клике по соответствующей галочке напротив конкретного элемента происходит отправка на сервер id товара опять же с помощью аякса.
на сервере скрипт ищет в БД инфу о товаре (цену, к примеру), подсчитывает количество отмеченных товаров и в качестве ответа возвращает XML с этой информацией, которая отображается на странице.
Разумеется, данные о текущем заказе нужно где-то хранить. Сначала я попробовал вариант с БД и сессиями (табличка с двумя полями - sessid и itemId ) и все вроде работало, но данный вариант нерационален, т.к. нагружает сервер.
Попробовал хранить массив id товаров в кукисах. Куки устанавливаются, однако при попытке получить массив обратно ничего не выходит.
Может это как-то связано с аяксом? Имеются ли какие-то особенности при работе с куками и использованием технологии аякс?
Ну и для ясности приведу код:
PHP:
// функция установки куков
function buyItem($itemId)
{
$order = array();
if ( isset( $cookie_order ) ) $order = unserialize($cookie_order);
$order[] = $itemId;
$cookie_order = serialize($order);
SetCookie("order", $cookie_order);
}
// функция подсчета инфы по заказу
function order2XML()
{
$order = array();
if ( isset( $cookie_order ) ) $order = unserialize($cookie_order);
// далее цикл по массиву $order, обращение к БД, формирование XML итд
return $result;
}