Отображение результата работы скрипта на всех страницах сайта (корзина)
Здравствуйте.
Совсем запутался и опять нуждаюсь в помощи. Делаю корзину для сайта. Задумал основную страницу корзины и блок "быстрой" корзины на 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, время: 08:49. |