我正在尝试为我的网页创建一个Cookie,如下所示:
document.cookie = "Name="+escape(name)+"; Value="+escape(value)+expires+";";
name,传递给函数的值和expires是在days参数上计算的 - 它也传递给了这个函数。
正在设置cookie作为结果,但问题是在cookie中只设置了一个参数。当我尝试检索document.cookie的值时
console.log(document.cookie)
我只获得了第一个关键值对 Name = escape(name);
为什么我没有得到Value =“+ escape(value) - 我不能在一个语句中设置多个键值对:
document.cookie =“key1 =”+ value1 +“key2 =”+ value2依此类推。
答案 0 :(得分:1)
您只能在一个语句中编写/更新一个cookie(单个名称 - 值对)。
来自https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie#Syntax:
document.cookie = newCookie;
在上面的代码中,newCookie是一个表单key = value的字符串。注意 您只能使用此方法一次设置/更新一个cookie。
要添加多对,请尝试以下操作:
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;
});