【问题标题】:angular.js cookies is not stored expire time and domain nameangular.js cookie 不存储过期时间和域名
【发布时间】:2015-12-03 15:21:59
【问题描述】:

我是新手,正在尝试存储 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

【问题讨论】:

    标签: javascript angularjs cookies


    【解决方案1】:

    Angularjs cookiestore 已被弃用。您应该改用$cookies。但我发现它可能有点臃肿。过去,当涉及到 cookie 时,我总是选择只使用原生 JavaScript。

    【讨论】:

    • 使用 $cookies 而不是 $cookieStore 在控制台中出现错误“$cookies.get is not a function”
    • 您是否在工厂和控制器中都包含了 $cookies?
    • 工厂 app.factory('SetCookies',function($cookies,$cookieStore,$timeout,$window) 控制器 app.controller('LoginController', function ($scope, $rootScope, AUTH_EVENTS, AuthService, $theme, SetCookies) 主控制器
    • 从您的工厂移除 $cookieStore,因为它不再使用。并在 SetCookies 之后添加 $cookies
    • $cookies.put 不是函数是cookies版本问题吗?如何更新 cookie 的版本。
    猜你喜欢
    • 2012-03-15
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 2013-07-06
    • 1970-01-01
    • 1970-01-01
    • 2020-09-25
    • 1970-01-01
    相关资源
    最近更新 更多