angular.js cookies不存储过期时间和域名

时间:2015-12-03 06:22:47

标签: javascript angularjs cookies

我是新手并尝试存储Cookie和参数以使Cookie失效,域名,安全等。 我设置了一个存储cookie的工厂

app.factory('SetCookies',function($cookieStore,$timeout,$window){
 var authService = {};   
 authService.create = function (username,email,id,sessionID) {   
                        var expired = new Date();
                        expired.setTime(expired.getTime() + (10*1000));                                                 
                        $cookieStore.put('Name',username, {expires : expired, secure:true, domain:'http://localhost/test' });
                        $cookieStore.put('Email',email, {expires : expired, secure:true, domain:'http://localhost/test' });
                        $cookieStore.put('LogCode',id, {expires : expired, secure:true, domain:'http://localhost/test' });
                        $cookieStore.put('Token',sessionID, {expires : expired, secure:true, domain:'http://localhost/test' });
                        $cookieStore.put('isLoggedIn',true, {expires : expired, secure:true, domain:'http://localhost/test' });         

                        };
return authService;

})

我已在我的登录控制器中调用此设置cookie

SetCookies.create(user.data.username, user.data.email, user.data.id, user.data.session_id);
登录后我已经检查了主控制器上的cookie超时

$timeout(function(){
        if(!$cookieStore.get('isLoggedIn')){
                $location.path('/');
                }
    },20);

但是当我在所有浏览器上检查它时,只有值。

结果如下面的截图 enter image description here

1 个答案:

答案 0 :(得分:0)

不推荐使用Angularjs cookiestore。您应该使用$cookies代替。但我发现它可能会有点膨胀。在过去,我总是选择在使用Cookie时使用原生JavaScript。