Отображение результата работы скрипта на всех страницах сайта (корзина)
Здравствуйте.
Совсем запутался и опять нуждаюсь в помощи. Делаю корзину для сайта. Задумал основную страницу корзины и блок "быстрой" корзины на jquery на каждой странице чтобы отображалась без перезагрузки при добавлении товара. Вот впал в ступор как сделать, чтобы результат скрипта отображался на всех страницах сайта, а то при обновлении пропадает все. Схема работы: По нажатию кнопки "В корзину" некоторые параметры со страницы и id товара передаю в php обработчик, делаю выборку из БД и оттуда уже json'ом обратно на страницу. Делать, чтобы при обновлении страницы или переходе скрипт опять срабатывал, а то скрипт срабатывает только после нажатия на кнопку? Котел не варит сегодня уже... Помогите))) |
$result=mysql_query("SELECT product_name, char_diam, char_cell, product_price FROM product WHERE id=$id"); $arr=mysql_fetch_array($result); $name= $arr['product_name']; $str=array("name"=>$name); echo json_encode($str, JSON_UNESCAPED_UNICODE); function cartsuccess(data) { alert(data); var chars = JSON.parse(data); $('#cart_left').html(chars.name); } как данные полученные функцией cartsuccess использовать вне события click() ? ajax отправляет запрос только по нажатию кнопки |
https://developer.mozilla.org/en/doc...sessionStorage
<div></div> <script> // эмуляция AJAX запроса function someAwesomeAjaxFunction(cb) { setTimeout(function() { cb('Some awesome response'); }, 1000); } // Эта функция отвечает за вывод данных в нужный элемент function putSomeAwesomeData(injectTo) { // Получаем данные из sessionStorage var data = sessionStorage.getItem('someAwesomeResponse'); // Если данные sessionStorage есть if (data) { // Добавляем данные из sessionStorage в необходимый элемент на странице injectTo.innerHTML = data; // выход из функции. return; } // Если данных в sessionStorage нет, то получаем их AJAX запросом. someAwesomeAjaxFunction(function(response) { // Добавляем полученные данные в необходимый элемент на странице injectTo.innerHTML = response; // Записываем данные в sessionStorage sessionStorage.setItem('someAwesomeResponse', response); }); } putSomeAwesomeData(document.querySelector('div')); </script> |
да, я смотрел в эту сторону, но засомневался в кроссбраузерности этого способа. Вы считаете, что с PHP в данном случае не связываться?
|
Цитата:
Цитата:
2) Если данные есть, то выводите данные из sessionStorage 3) Если данных нет, то получаете данные AJAX запросом и записываете их в sessionStorage и выводите. что непонятного в примере? p.s добавил комментарии При первой загрузке - получаем данные от сервера AJAX запросом. При обновлении страницы - получаем данные из sessionStorage |
Разобрался. Но только если одна позиция в корзине.
Многомерный массив нужно делать , я так понял. В sessionStorage пытаться запихнуть или в json все пихать в php обработчике, а потом в скрипте парсить и проверять? |
Часовой пояс GMT +3, время: 21:51. |