данные jquery () и файлы cookie - PullRequest
0 голосов
/ 25 января 2011

Как jQuery .data(), так и файлы cookie браузера, похоже, выполняют одну и ту же работу, сохраняя информацию для дальнейшего использования.Есть ли преимущество использования одного над другим?.data() кажется быстрым и легким.

Ответы [ 3 ]

8 голосов
/ 25 января 2011

jQuery.data () и файлы cookie весьма различны:

  • файлы cookie сохраняются при выполнении запросов, jQuery.data () имеет только время жизни документа, который он выдал в
  • jQuery..data () может хранить произвольные объекты, в то время как вы можете хранить только объекты, сериализуемые в виде текста в куки (например, вы не можете напрямую хранить элемент DOM в куки)
  • jQuery.data () прикрепленк элементу DOM, в то время как cookie-файл присоединен к домену, или суб-путь к домену

Так что в общем случае jQuery.data () используется для хранения данных, используемых различными частями вашего jQueryкод (например, настройки, кэшированные значения и т. д.) и файлы cookie используются для хранения постоянной пользовательской информации (например, информации о сеансе).

2 голосов
/ 25 января 2011

Данные не постоянны между запросами.Поэтому, если вы что-то сохраните с помощью .data(), а затем пользователь нажмет на ссылку, у вас больше не будет сохраненных данных (в отличие от файлов cookie, которые сохраняются).

1 голос
/ 25 января 2011

.data() - как уже сказал Якуб - не является постоянным между запросами, в то время как куки есть (вы даже можете дать им время истечения!).

Однако есть еще одна большая разница: установлено .data()на элементе и не может быть легко извлечен без наличия элемента (или объекта jQuery, содержащего его), в то время как файлы cookie являются простыми ключами => отображениями значений для всего документа.

О, и вы не можете хранить сложные данные (массивы,объекты) в файлах cookie, не сериализовав их каким-либо образом (JSON выполнит эту работу).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...