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吗?
感谢您的帮助。