jquery save json объект данных в cookie

Как сохранить данные 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?

    Вы можете сериализовать данные как JSON, например:

     $.cookie("basket-data", JSON.stringify($("#ArticlesHolder").data())); 

    Затем, чтобы получить его из файла cookie:

     $("#ArticlesHolder").data(JSON.parse($.cookie("basket-data"))); 

    Это зависит от JSON.stringify() и JSON.parse() для сериализации / десериализации объекта данных, для старых браузеров (IE <8) включает json2.js, чтобы получить функциональность JSON . В этом примере используется плагин jQuery cookie

    Теперь уже нет необходимости явно использовать JSON.stringify . Просто выполните эту строку кода

     $.cookie.json = true; 

    После этого вы можете сохранить любой объект в cookie, который будет автоматически преобразован в JSON и обратно из JSON при чтении файла cookie.

     var user = { name: "name", age: 25 } $.cookie('user', user); ... var currentUser = $.cookie('user'); alert('User name is ' + currentUser.name); 

    Но библиотека JSON не поставляется с jquery.cookie, поэтому вам нужно загрузить ее самостоятельно и включить в html-страницу до jquery.cookie.js

    используйте JSON.stringify(userData) для скрытого объекта json для строки.

     var dataStore = $.cookie("basket-data", JSON.stringify($("#ArticlesHolder").data())); 

    и для возврата из файла cookie используйте JSON.parse()

     var data=JSON.parse($.cookie("basket-data")) 

    JSON.stringify(userData) практика – сохранить значение, которое возвращается из JSON.stringify(userData) в файл cookie; это может привести к ошибке в некоторых браузерах.

    Прежде чем использовать его, вы должны преобразовать его в base64 (используя btoa ), а при его чтении btoa его из base64 (используя atob ).

     val = JSON.stringify(userData) val = btoa(val) write_cookie(val) 

    Попробуйте это: https://github.com/tantau-horia/jquery-SuperCookie

    Быстрое использование:

    create – create cookie

    проверить – проверить наличие

    verify – проверить значение cookie, если JSON

    check_index – проверить, существует ли индекс в JSON

    read_values ​​- читать значение cookie как строку

    read_JSON – читать значение cookie как объект JSON

    read_value – чтение значения индекса, хранящегося в объекте JSON

    replace_value – заменить значение из указанного индекса, сохраненного в объекте JSON

    remove_value – удалить значение и индекс, хранящиеся в объекте JSON

    Просто используйте:

     $.super_cookie().create("name_of_the_cookie",name_field_1:"value1",name_field_2:"value2"}); $.super_cookie().read_json("name_of_the_cookie"); 

    После сериализации данных как JSON и Base64, зависимость jquery.cookie.js:

     var putCookieObj = function(key, value) { $.cookie(key, btoa(JSON.stringify(value))); } var getCookieObj = function (key) { var cookie = $.cookie(key); if (typeof cookie === "undefined") return null; return JSON.parse(atob(cookie)); } 

    🙂

    Interesting Posts

    Почему ярлык, который отображается на рабочем столе, не отображается, когда мы входим в User> Desktop

    Angularjs ng-model не работает внутри ng-if

    Как определить, является ли диск жестким диском или SSD в Windows 8?

    Нужно ли явно удалять обработчики событий в C #

    длина и длина () в Java

    Я получаю «Пожалуйста, вставьте диск в Removable Disk», когда я вставляю свой USB-диск

    Могу ли я найти идентификатор сеанса для входа пользователя на другой компьютер?

    AngularJS – визуализация на стороне сервера

    Как установить значок в JLabel из образа из папки?

    Скрипт Windows для копирования некоторого текста в буфер обмена?

    Воспроизведение видеофайлов в медиаплеере VLC из-за базовых URL-адресов аутентификации HTTP без пароля

    Значки приложений исчезли

    Как использовать только одно окно / приложение для другого пользователя в сети?

    Как настроить SVN на терминале Mac?

    Является ли stream экземпляров базы данных Sqlite безопасным

    Давайте будем гением компьютера.