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.
你有两个解决方案:
对要存储的每个键值使用cookie:
document.cookie = "myCookie=myValue";
document.cookie = "myOtherCookie=myOtherValue";
Run Code Online (Sandbox Code Playgroud)使用复杂数据的自定义序列化存储单个cookie,例如JSON:
document.cookie = "myCookie=" + JSON.stringify({foo: 'bar', baz: 'poo'});
Run Code Online (Sandbox Code Playgroud)其实我觉得这将是更好地使用
document.cookie = "myCookie=foo='bar'&baz='poo'; here is the rest of cookie specifications if you like..."
,据我所知,它也兼容Asp和Asp.Mvc服务器端:
string foo=Request.Cookies["myCookie"]["foo"]
| 归档时间: |
|
| 查看次数: |
33267 次 |
| 最近记录: |