[英]i have angular.min.js:129 TypeError: Cannot read properties of undefined (reading '0') error in my spring boot aplication
I'm trying to desingn login page by angular in my java Spring Boot Aplication.我正在尝试在我的 java Spring 引导应用程序中通过 angular 设计登录页面。 My problem is when I try login to panel page,username and password is ok and send to application by api controller and set user token correctly,but token don't set by cookeis in page, therefor panel page don't open and i have this error in inspect console:我的问题是当我尝试登录面板页面时,用户名和密码正常并通过 api controller 发送到应用程序并正确设置用户令牌,但页面中的 cookie 没有设置令牌,因此面板页面打不开,我有检查控制台中的此错误:
<,DOCTYPE html> <html lang="en-US"> <head> <title>Online Shop App | login</title> <meta name="viewport" content="width=device-width. initial-scale=1,0. maximum-scale=1.0"> <script src="libs/angular.min.js"></script> <script src="libs/jquery.min.js"></script> <script src="libs/angular-cookies.js"></script> <script src="scripts/app.js"></script> <script src="scripts/controllers/loginController.js"></script> <script src="scripts/services/ApiHandler.js"></script> <link href="libs/bootstrap-5.1.3-dist/css/bootstrap.min.css" rel="stylesheet"> <script src="libs/bootstrap-5.1.3-dist/js/bootstrap.min.js"></script> <link href="styles/login.css" rel="stylesheet"> </head> <body ng-app="onlineShopApp"> <div class="container-fluid" ng-controller="loginCtrl"> <div class="row"> <div class="col-3"></div> <div class="col login-box-holder"> <form> <h3>Login To Panel</h3> <div class="form-group"> <label for="username" class="form-label">Username</label> <input type="text" class="form-control" id="username" ng-model="user.userName"> </div> <div class="form-group"> <label for="password" class="form-label">Password</label> <input type="password" class="form-control" id="password" autocomplete="false" ng-model="user password"> <div id="emailHelp" class="form-text">Do not share your username and password</div> </div> <button type="submit" class="btn btn-primary" ng-click="doLogin()">Login</button> </form> </div> <div class="col-3"></div> </div> </div> </body> </html>
my login controller:我的登录 controller:
app.controller("loginCtrl", function ($scope, apiHandler, $cookies) { $scope.user = {}; $scope.doLogin = () => { apiHandler.callPost( 'user/login', $scope.user, (response) => { var token=response.datalist[0].token; $cookies.put("userToken",token); if(token==null || token=="") { alert("invalid token"); return; } $cookies.put("uerToken",token); alert("token is:"); location.href="/panel"; }, (error) => { }); } });
my panel page:我的面板页面:
<,DOCTYPE html> <html lang="en-US"> <head> <title>Online Shop App | panel</title> <meta name="viewport" content="width=device-width. initial-scale=1,0. maximum-scale=1.0"> <script src="libs/angular.min.js"></script> <script src="libs/jquery.min.js"></script> <script src="libs/angular-cookies.js"></script> <script src="scripts/app.js"></script> <script src="scripts/controllers/panelController.js"></script> <script src="scripts/services/ApiHandler.js"></script> <link href="libs/bootstrap-5.1.3-dist/css/bootstrap.min.css" rel="stylesheet"> <script src="libs/bootstrap-5.1.3-dist/js/bootstrap.min js"></script> </head> <body ng-app="onlineShopApp"> <div class="container-fluid" ng-controller="panelCtrl"> <div class="row"> <h3>Panel</h3> </div> </div> </body> </html>
my panel controller: app.controller("panelCtrl", function ($scope, apiHandler, $cookies) {我的面板 controller: app.controller("panelCtrl", function ($scope, apiHandler, $cookies) {
$scope.checkAccess = () => {
var token=$cookies.get("userToken");
if(token==undefined || token==null || token==""){
location.href="/login";
}
}
$scope.checkAccess();
}); });
i type wrong dataList in loginController file: (i change response.datalist[0] to=> response.dataList[0] )我在 loginController 文件中输入了错误的 dataList:(我将 response.datalist[0] 更改为=> response.dataList[0])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.