Cookie在到期日后仍然存在

时间:2016-07-28 08:45:12

标签: angularjs cookies

所以我正在尝试使用ngCookie($ cookies)在AngularJs中设置一个布尔值。 正如您在下面的示例中所看到的,如果cookie仍然存在,则“someFlag”应该只是true。 cookie过期设置为30秒,但即使在30秒后,“someFlag”仍然是真的。

那么如何才能找到cookie过期与否?

var peekerHideCookie = $cookies.get('peekerHideCookie');
console.log(peekerHideCookie);
if (peekerHideCookie == 'true'){
    $scope.someFlag = true;
}

$scope.test = function () {
    var d = new Date();
    d.setDate(d.getSeconds() + 30);
    $cookies.put('peekerHideCookie', 'true', {expires: d});
    $scope.someFlag = true;
}

1 个答案:

答案 0 :(得分:1)

使用d.setSeconds(d.getSeconds() + 30)而不是d.setDate()

 $scope.test = function () {
        var d = new Date();
        d.setSeconds(d.getSeconds() + 30);
        $cookies.put('peekerHideCookie', 'true', {expires: d});
        $scope.someFlag = true;
    }



var d = new Date();
console.log(d);
d.setSeconds(d.getSeconds() + 30);
console.log(d);