以下是设置Cookie到期时间的代码。两个cookie值&some; someToken'和' wofilter'是为浏览器设置的,但两种情况下的到期日期都不同。(案例2设置为我遇到问题的会话)
我想将Cookie设置为有效期两天。我发现的一个区别是,一个使用简单的字符串,而另一个使用字符串化的对象。
有人可以解释为什么他们的行为不同
1。案例一
exp = new Date(now.getFullYear() + 1, now.getMonth(), now.getDate())
console.log exp
$cookies.put 'someToken', 'blabla', expires: exp
2。案例二
expireDate = new Date()
expireDate.setDate(expireDate.getDate() + 1)
$cookies.put 'woFilter' + $routeParams.id, JSON.stringify testObj, expires: exp
提前致谢:)
我附加了一张显示浏览器Cookie详细信息的图片
答案 0 :(得分:0)
您可以编写这样的函数并通过参数调用它。
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}