1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

i have angular.min.js:129 TypeError: Cannot read properties of undefined (reading '0') error...

Discussão em 'Angular' iniciado por Ali Bazargani, Setembro 16, 2024.

  1. I'm trying to desingn login page by angular in my java Spring Boot Aplication. 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 : [​IMG]

    [​IMG]

    [​IMG] my login page:


    <!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:


    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) {

    $scope.checkAccess = () => {
    var token=$cookies.get("userToken");
    if(token==undefined || token==null || token==""){
    location.href="/login";
    }
    }
    $scope.checkAccess();


    });

    Continue reading...

Compartilhe esta Página