2016-12-26 115 views
0

下面是设置cookie过期的代码。这两个Cookie值“someToken”和“wofilter”设置为浏览器,但到期日期是在这两种情况下的不同。(案例2设置为会议,我有问题)无法设置cookie到期日期

我想设置有效期为两天的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的浏览器细节

enter image description here

回答

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=/"; 
}