2015-03-31 50 views
1

我是AngularJS的noob。我正在尝试管理Cookie,但它不起作用。我有两个版本的代码,它们的接缝完全相同,但如果第一个代码可以正常工作,则第二个代码失败。使用AngularJS更新饼干

我的登录表单的代码是在这里:

(function() { 
 
    var app = angular.module('userApp', ['suiviChantiers', 'ngCookies']); 
 

 
    app.controller('UserLogin', ['$scope', '$http', '$cookies', 
 
     function($scope, $http, $cookies) { 
 

 
      $scope.login = function() { 
 
      $scope.user = this.user; 
 

 
      $http.post('services/user.php', { 
 
       action: 'login', 
 
       user: $scope.user 
 
      }).success(function(data) { 
 
       if (data.error) { 
 
       // [...] 
 
       } else if (data.message == 'success') { 
 
       $cookies.user = data.data; 
 
       console.log("User : " + $cookies.user); // Output is : User : MS1OVFEwWkRZeU5ETTBNVFV3TVE9PQ== 
 
       window.setTimeout(function() { 
 
        if ($cookies.redirectTo == null) { 
 
        document.location.href = "chantier/index.html"; 
 
        } else { 
 
        var dest = $cookies.redirectTo; 
 
        $cookies.redirectTo = null; 
 
        document.location.href = dest; 
 
        } 
 
       }, 3000); 
 
       } 
 
      }); 
 
      }; 
 
      // [...] 
 
     })(); 
 
    })();
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-cookies.min.js"></script> 
 
<h1>Login form ...</h1>

在我的 “CHANTIER/index.html的” 控制器我有这样的:

(function() { 
 
\t var app = angular.module('chantierApp', ['ngCookies']); 
 
\t 
 
\t app.controller('ChantierListController', ['$scope', '$cookies', 'userService', function($scope, $cookies, userService) { 
 
\t \t $scope.user = userService.user; 
 
\t \t console.log("User : "+$cookies.user); // Output is : User : undefined but $cookies.redirectTo is not empty 
 

 
\t }]); 
 
})();
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-cookies.min.js"></script>

(对不起,这么长的代码文章) 你能解释我为什么不更新cookies吗?

感谢您的帮助。

回答

1

最后我解决了我的问题......一切都很好。但是在某些文件上有一些非常持久的缓存(即使在删除缓存文件和tmp文件后)。 我以私人模式启动了我的浏览器,一切正常。

感谢您的帮助。