如何将多个键值对设置为一个cookie?

Bla*_*ake 14 javascript cookies

我正在使用此行将多个键值对一次设置为一个cookie

document.cookie="username=John Smith; test1=ew; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/";
Run Code Online (Sandbox Code Playgroud)

它似乎test1没有成功设置为cookie,因为当我document.cookie在控制台中写入时,它没有打印这个键值对.任何人都知道如何将多个键值对设置一个cookie

zop*_*eux 40

将多个键值对存储到一个cookie中是没有意义的,因为根据定义,cookie代表一个键值对.

我相信你不明白它是如何document.cookie运作的.它不是标准的JS字符串:当您设置它时,它包含的cookie定义将附加到现有cookie列表中.也就是说,您无法使用此API同时设置两个Cookie.

你有两个解决方案:


Rza*_*sar 5

其实我觉得这将是更好地使用
document.cookie = "myCookie=foo='bar'&baz='poo'; here is the rest of cookie specifications if you like..."
,据我所知,它也兼容AspAsp.Mvc服务器端:
string foo=Request.Cookies["myCookie"]["foo"]