How to set multiple key-value pairs to one cookie?
Actually i think it would be better to usedocument.cookie = "myCookie=foo='bar'&baz='poo'; here is the rest of cookie specifications if you like..."
as far as i know, it also is compatible with Asp
and Asp.Mvc
on server side:string foo=Request.Cookies["myCookie"]["foo"]
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'});