在 1 个 cookie 字符串中指定多个键值对
specifying multiple key value pairs in 1 cookie string
我正在尝试为我的网页创建一个 cookie,如下所示:
document.cookie = "Name="+escape(name)+"; Value="+escape(value)+expires+";";
传递给函数的名称和值正在根据天数参数计算过期 - 该参数也传递给此函数。
因此设置了 cookie,但问题是在 cookie 中只设置了一个参数。当我尝试检索 document.cookie
的值时
console.log(document.cookie)
我只得到第一个键值对
名字=转义(名字);
为什么我没有得到 Value="+escape(value) - 我不能在单个语句中设置多个键值对吗:
document.cookie = "key1 ="+value1+"key2="+value2 依此类推。
您只能在一个语句中 write/update 一个 cookie(单个名称-值对)。
来自 https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie#Syntax :
document.cookie = newCookie;
In the code above newCookie is a string of form key=value. Note that
you can only set/update a single cookie at a time using this method.
要添加多对,试试这个:
var pairs = [
{"name" : "foo", "value" : "foobar", "expires" : "Tue, 23 Jun 2015 19:00:00 GMT"},
{"name" : "baz", "value" : 1198, "expires" : "Wed, 24 Jun 2015 12:00:00 GMT"}
];
pairs.forEach(function(pair) {
document.cookie = encodeURIComponent(pair.name) + "=" + encodeURIComponent(pair.value) + "; expires=" + pair.expires;
});
我正在尝试为我的网页创建一个 cookie,如下所示:
document.cookie = "Name="+escape(name)+"; Value="+escape(value)+expires+";";
传递给函数的名称和值正在根据天数参数计算过期 - 该参数也传递给此函数。
因此设置了 cookie,但问题是在 cookie 中只设置了一个参数。当我尝试检索 document.cookie
的值时console.log(document.cookie)
我只得到第一个键值对 名字=转义(名字);
为什么我没有得到 Value="+escape(value) - 我不能在单个语句中设置多个键值对吗:
document.cookie = "key1 ="+value1+"key2="+value2 依此类推。
您只能在一个语句中 write/update 一个 cookie(单个名称-值对)。
来自 https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie#Syntax :
document.cookie = newCookie;
In the code above newCookie is a string of form key=value. Note that you can only set/update a single cookie at a time using this method.
要添加多对,试试这个:
var pairs = [
{"name" : "foo", "value" : "foobar", "expires" : "Tue, 23 Jun 2015 19:00:00 GMT"},
{"name" : "baz", "value" : 1198, "expires" : "Wed, 24 Jun 2015 12:00:00 GMT"}
];
pairs.forEach(function(pair) {
document.cookie = encodeURIComponent(pair.name) + "=" + encodeURIComponent(pair.value) + "; expires=" + pair.expires;
});