jquery корзина, как хранить данные - PullRequest
0 голосов
/ 18 ноября 2010

Я создаю небольшой интернет-магазин. Когда я добавляю продукты в свою корзину, я просто добавляю объект данных в div li:

$("#ArticlesHolder").data('15', {name:'testname', nr:'4', price:'400', articlenr:'klr441234'});

Это прекрасно работает, если я не перезагружаю страницу. Мой вопрос заключается в следующем: как лучше всего кешировать эти данные в jquery, чтобы я мог перезагрузить страницу, оставить страницу на 30 минут и другие вещи, которые вы можете придумать. Это добавить cookie в браузер пользователей или jquery имеет какой-то другой способ справиться с этим? Спасибо за любую помощь. Кстати, если куки - это решение, что произойдет, если пользователь не принимает куки ??

EDIT

Было бы хорошим решением попытаться использовать cookie, если пользователь не принял это, а затем сделать ajax-вызов веб-службы для обработки его на стороне сервера и возврата данных json?

ОКОНЧАТЕЛЬНОЕ РЕДАКТИРОВАНИЕ

Хорошо, поэтому я буду использовать куки. Теперь, как мне сохранить данные JSON в cookie? как вы можете видеть в приведенной выше строке кода, у меня может быть много продуктов с несколькими значениями. Как это:

$("#ArticlesHolder").data('15', {name:'testname', nr:'4', price:'400',articlenr:'345345'});
$("#ArticlesHolder").data('25', {name:'name2', nr:'1', price:'100', articlenr:'kltt444'});
$("#ArticlesHolder").data('37', {name:'name3', nr:'14', price:'60', articlenr:'1235555'});

Мне нужно как-то зациклить каждое поле данных и сохранить его в новом типе данных JSON. Кто-нибудь знает, как это делается?

С наилучшими пожеланиями Marthin

Ответы [ 4 ]

1 голос
/ 18 ноября 2010

jQuery - это JavaScript.

Это означает, что вы ограничены в текущем просмотре страницы.

Чтобы сохранить данные на сайте, вы можете либо

  • Используйте Sessions, но вам нужен серверный язык, такой как php, asp, ruby ​​и т.д ..
  • хранить куки (, если пользователь не принимает, вы ничего не можете сделать .. )
  • Использовать HTML5 localStorage , но поддержка браузера ограничена
  • комбинация вышеперечисленного.
1 голос
/ 18 ноября 2010

Cookies - это решение, но имейте в виду, что при каждой новой загрузке страницы информация, хранящаяся в cookie, также отправляется на сервер.

Если пользователь не принимает куки.Это не будет работать вообще.

В будущем нас ждет гораздо более приятное решение с HTML5-хранилищем .

0 голосов
/ 18 ноября 2010

Вы должны использовать cookie-файл и решение на стороне сервера: если вы хотите использовать localStorage, я бы пошел с Lawnchair.

http://blog.westcoastlogic.com/lawnchair/

Это довольно мило.

0 голосов
/ 18 ноября 2010

Полная загрузка страницы по своей сути «сбрасывает» ваш javascript.Браузер не будет поддерживать состояние JavaScript между загрузками страниц.Вы можете создать cookie или сохранить эту информацию в состоянии сервера.Это в значительной степени классическая проблема сети без гражданства, просто она не запомнится.

Я предлагаю использовать cookie вместе с хранением этого кэша на стороне сервера.

...