Как сохранить данные JSON в файле cookie?
Мои данные JSON выглядят так
$("#ArticlesHolder").data('15', {name:'testname', nr:'4',price:'400'});
$("#ArticlesHolder").data('25', {name:'name2', nr:'1', price:'100'});
$("#ArticlesHolder").data('37', {name:'name3', nr:'14', price:'60'});
И я хочу сделать что-то вроде
var dataStore = $.cookie("basket-data", $("#ArticlesHolder").data());
и чтобы получить данные, я хочу загрузить их $("#ArticlesHolder")
как
$.each($.cookie("basket-data"), function(i,e){
$("#ArticlesHolder").data(i, e);
});
Кто-нибудь знает, на правильном ли я пути или это нужно делать как-то иначе? Проще говоря, как мне поместить и извлечь данные json из файла cookie?
jquery
cookies
jquery-cookie
Marthin
источник
источник
Ответы:
Вы можете сериализовать данные как JSON, например:
Затем, чтобы получить его из файла cookie:
Это зависит от
JSON.stringify()
иJSON.parse()
до сериализации / десериализации вашего объекта данных, для старых браузеров (IE <8) включают в себя json2.js получитьJSON
функциональность. В этом примере используется плагин jQuery cookieисточник
cookie
это встроенная функция в jQuery. Похоже, что нет. или это устарело ..? если это плагины, которые я нахожу, было бы здорово,
(запятая) может привести к неправильной настройке файлов cookie в Safari и других браузерах.Теперь уже нет необходимости
JSON.stringify
явно использовать . Просто выполните эту строку кодаПосле этого вы можете сохранить в cookie любой объект, который будет автоматически преобразован в JSON и обратно из JSON при чтении cookie.
Но библиотека JSON не поставляется с jquery.cookie, поэтому вам нужно загрузить ее самостоятельно и включить в html-страницу перед jquery.cookie.js.
источник
$cookie.json = true
может вызвать конфликты с другими вашими файлами cookie. Так что будьте осторожны, используя это в проекте, который уже использует файлы cookie где-либо еще!использовать
JSON.stringify(userData)
для прикрытия объекта json для строки.и для возврата от использования файлов cookie
JSON.parse()
источник
Не рекомендуется сохранять значение, возвращаемое из
JSON.stringify(userData)
файла cookie; это может привести к ошибке в некоторых браузерах.Перед использованием вы должны преобразовать его в base64 (используя
btoa
), а при чтении преобразовать из base64 (используяatob
).источник
{
или}
, и молча отбрасывает любые файлы cookie, следующие за отклоненным файлом cookie в заголовке файла cookie.С сериализацией данных как JSON и Base64, зависимость jquery.cookie.js:
:)
источник
Попробуйте это: https://github.com/tantau-horia/jquery-SuperCookie
Просто используйте:
источник