Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jquery save json data object in cookie

How do I save JSON data in a cookie?

My JSON data looks like this

$("#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'}); 

And I want to do something like

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

and to retrieve the data i want to load it into $("#ArticlesHolder") like

$.each($.cookie("basket-data"), function(i,e){  $("#ArticlesHolder").data(i, e); }); 

does anyone know if I'm on the right track or should this be done in some other way? Simply put, how do i put and pull json data from a cookie?

like image 352
Marthin Avatar asked Nov 19 '10 12:11

Marthin


1 Answers

You can serialize the data as JSON, like this:

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

Then to get it from the cookie:

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

This relies on JSON.stringify() and JSON.parse() to serialize/deserialize your data object, for older browsers (IE<8) include json2.js to get the JSON functionality. This example uses the jQuery cookie plugin

like image 100
Nick Craver Avatar answered Sep 17 '22 12:09

Nick Craver