gpt4 book ai didi

javascript - Angular 访问 Controller 内的 cookie

转载 作者:行者123 更新时间:2023-11-29 18:20:47 24 4
gpt4 key购买 nike

angular.module('site.controllers', ['ngCookies'])
.controller("LoginController", ["$scope", "$http", "$cookies", function($scope, $http, $cookies){
debugger; // can access $cookies here
$scope.login = function(){
debugger; // ReferenceError: $cookies is not defined
var credentials = {
'username': $scope.username,
'password': $scope.password
};
$http.post('/login', credentials)
.success( function(data, status, headers, config){
$scope.template = $scope.templates[2];
})
.error( function(data, status, headers, config){
debugger;
$scope.template = $scope.templates[2];
//TODO: info for user that login failed
});
};
}])
;

我不知道为什么 $cookies 服务在 LoginController 直接主体中可用,但它在 LoginController 的登录功能中不可用。

$scope 和 $http 在这两个地方都可用,但是 $cookies 服务有问题。

这些文件包含在 HTML 头中:

<script type="text/javascript" src="static/lib/angular/angular.js"></script>
<script type="text/javascript" src="static/lib/angular/angular-cookies.js"></script>

最佳答案

我认为只要您使用它,它就可以在登录方法中访问。如果您尝试仅使用 debugger 查看数据,那么您将无法在调试控制台中获得它。我认为这是因为 js 引擎没有创建闭包,因为您没有在登录方法中引用该属性。

尝试在登录方法中执行 console.log($cookies)

关于javascript - Angular 访问 Controller 内的 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18978816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com