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

Javascript 如何将多个键值对设置为一个cookie?,javascript,cookies,Javascript,Cookies,我使用这一行将多个键值对一次性设置为一个cookie document.cookie="username=John Smith; test1=ew; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/"; 似乎没有成功地将test1设置为cookie,因为当我在控制台中写入document.cookie时,它没有打印这个键值对。任何人都知道如何将多个键值对设置为一个cookie?将多个键值对存储到一个cookie中是没有意义的,因为根据定义一个cooki

我使用这一行将多个键值对一次性设置为一个cookie

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

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

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

我相信你不太明白。它不是一个标准的JS字符串:设置它时,它包含的cookie定义被添加到现有cookie列表中。也就是说,不能使用此API同时设置两个cookie

您有两种解决方案:

  • 对要存储的每个键值使用cookie:

    document.cookie = "myCookie=myValue";
    document.cookie = "myOtherCookie=myOtherValue";
    
  • 使用复杂数据的自定义序列化存储单个cookie,例如JSON:

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

事实上,我认为使用
document.cookie=“mycokie=foo='bar'&baz='poo';如果您愿意,下面是cookie规范的其余部分……”

据我所知,它还与服务器端的
Asp
Asp.Mvc
兼容:
string foo=Request.Cookies[“myCookie”][“foo”]