Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
57
rated 0 times [  58] [ 1]  / answers: 1 / hits: 56172  / 10 Years ago, mon, july 21, 2014, 12:00:00

I am using this line to set multiple key-value pair at once to one cookie



document.cookie=username=John Smith; test1=ew; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/;


it seemed test1 is not set to the cookie successfully, because when I write document.cookie in the console, it didn't print this key-value pair. Anyone know how to set multiple key-value pair to ONE cookie?


More From » cookies

 Answers
5

It does not make sense to store multiple key-value pairs into one cookie, because by definition a cookie represents one key-value pair.



I believe you don't understand well how document.cookie works. It is not a standard JS string: when you set it, the cookie definition it contains is appended to the list of existing cookies. That is, you cannot set two cookies at the same time using this API.



You have two solutions:




  • Use a cookie for each key-value you want to store:



    document.cookie = myCookie=myValue;
    document.cookie = myOtherCookie=myOtherValue;

  • Store a single cookie with a custom serialization of your complex data, for example JSON:



    document.cookie = myCookie= + JSON.stringify({foo: 'bar', baz: 'poo'});


[#70117] Friday, July 18, 2014, 10 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
dequant

Total Points: 88
Total Questions: 99
Total Answers: 95

Location: Ukraine
Member since Sun, Dec 13, 2020
4 Years ago
dequant questions
;