Problem with angularjs?

0

Use angularjs 1.2. Within this code there is already content of angularjs, both in the initialization in the header, I have also declared ng-app and ng-controller , in addition to the zone of beginning of session are added ng-model and ng-submit .

I do not really know what can be badly ordered, structured or located but it does not recognize me $state or UserService when I put them in the controller.

This is the error that throws me:

This is the HTML code:

    <!DOCTYPE html>
    <html lang="es" ng-app="LoginCTRL">
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1, 
      shrink-to-fit=no">
      <meta name="description" content="">
      <meta name="author" content="">
      <link rel="icon" href="../../favicon.ico">

      <title>Kupomcity</title>

      <!-- Bootstrap core CSS -->
      <script src="lib/angular.js"></script>  
      <script src="lib/angular.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/1.0.3/angular-ui-router.js"></script>   
      <script src="js/controllers/LoginCTRL.js"></script>  
      <script src="app.js"></script> 
      <script src="js/tether.js"></script>
      <script src="lib/services.js"></script>   
      <script src="js/vendor/jquery-slim.min.js"></script>
      <script src="js/bootstrap.min.js"></script>
      <link href="css/bootstrap.min.css" rel="stylesheet">
      <link href="css/font-awesome.min.css" rel="stylesheet">
      <link href="css/main.css" rel="stylesheet">
    </head>

    <body ng-controller="LoginController">



    <header class="containNav">

      <div class="topNav">
        <div class="container">
          <a href="#" class="logoMenu"><img src="img/logo.png"></a>

          <div class="input-group" id="searchNav">
            <input type="text" class="form-control" placeholder="¿Qué estas buscando?">
            <span class="input-group-btn">
              <button class="btn" type="button"><i class="fa fa-search" aria-hidden="true"></i></button>
            </span>
          </div>

          <div class="coontainLoginNav hidden-sm-down">
            <a href="#" class="btnIngresarNav">Ingresar</a>
            <a href="#" class="btnCrearCuentaNav">Crear cuenta</a>
          </div>

        </div>
      </div>

      <nav class="navbar navbar-toggleable-md">

          <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#menu" aria-controls="menu" aria-expanded="false" aria-label="Toggle navigation">
            <i class="fa fa-bars" aria-hidden="true"></i>
          </button>
          <a class="navbar-brand" href="#">Iniciar Sesion</a>
          <div class="collapse navbar-collapse" id="menu">
            <ul class="navbar-nav">

              <!-- 
              Resto de las categorias en mobile 
              -->
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" href="#" id="dropdownMenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                  <span class="hidden-md-down"><i class="fa fa-bars" aria-hidden="true"></i></span><span class="hidden-md-up">Más Categoría</span>
                </a>
                <div class="dropdown-menu" id="restoCategorias" aria-labelledby="dropdownMenu">
                  <a class="dropdown-item" href="#">categoria</a>
                  <a class="dropdown-item" href="#">categoria</a>
                  <a class="dropdown-item" href="#">categoria</a>
                  <a class="dropdown-item" href="#">categoria</a>
                  <a class="dropdown-item" href="#">categoria</a>
                  <a class="dropdown-item" href="#">categoria</a>
                  <a class="dropdown-item" href="#">categoria</a>
                  <a class="dropdown-item" href="#">categoria</a>
                  <a class="dropdown-item" href="#">categoria</a>
                  <a class="dropdown-item" href="#">categoria</a>
                  <a class="dropdown-item" href="#">categoria</a>
                  <a class="dropdown-item" href="#">categoria</a>
                  <a class="dropdown-item" href="#">categoria</a>
                  <a class="dropdown-item" href="#">categoria</a>
                  <a class="dropdown-item" href="#">categoria</a>
                  <a class="dropdown-item" href="#">categoria</a>
                </div>
              </li>
              <!-- 
              Resto de las categorias en mobile 
              -->


              <li class="nav-item active">
                <a class="nav-link" href="#">categoria 1</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="#">categoria 2</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="#">categoria 3</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="#">categoria 4</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="#">categoria 5</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="#">categoria 6</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="#">categoria 7</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="#">categoria 8</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="#">categoria 9</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="#">categoria 10</a>
              </li>    

            </ul>
          </div>

      </nav>
    </header>


    <div class="container">

      <section class="row">
        <div class="col-md-6 offset-md-3">
          <h2 class="tituloLogin">Iniciar Sesión</h2>
            <form ng-submit="formSubmit" class="form">
            <div class="inputRojo input-group mb-3 mr-sm-2">
              <div class="input-group-addon"><i class="fa fa-envelope-o" aria-hidden="true"></i></div>
              <input type="text" name="email" ng-model="usuario.email" class="form-control" placeholder="E-mail">
            </div>

            <div class="inputRojo input-group mb-2 mr-sm-2">
              <div class="input-group-addon"><i class="fa fa-key" aria-hidden="true"></i></div>
              <input type="password" name="passwd" ng-model="usuario.passwd" class="form-control" placeholder="Contraseña">
            </div>
            <a href="#" class="btnContrasenaLogin mb-3">¿Olvidaste tu contraseña?</a>

            <button type="submit" class="btn btn-primary btn-block" ng-click="SignInClean()">Iniciar Sesión</button>
            <button type="button" class="btn btn-secondary btn-block mb-4"><i class="fa fa-facebook" aria-hidden="true"></i> Ingresar con Facebook</button>

            <a href="#" class="btnRegistrarme mb-3">Registrarme</a>

          </form>

        </div>
      </section>

    </div>


    <footer>

      <div class="topFooter">

        <div class="container">
          <div class="row">

            <div class="col-12 col-md-4 mt-4">
              <h4>Suscríbete a nuestro newsletter</h4>
              <p class="textSmall"><small>Entérate primero de los últimos descuentos y promociones disponibles en Kupom City directo en tu e-mail.</small></p>
              <div class="input-group" id="newsletter">
                <input type="text" class="form-control" placeholder="Ingresa tu E-mail">
                <span class="input-group-btn">
                  <button class="btn" type="button"><i class="fa fa-envelope-o" aria-hidden="true"></i></button>
                </span>
              </div>
            </div>

            <div class="col-6 col-md mt-4">
              <h4>Somos Kupom city</h4>

              <div class="row">
                <ul class="nav flex-column menuFooter">
                  <li class="nav-item">
                    <a class="nav-link active" href="#">Acerca de Kupom City</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="#">Únete a nuestro equipo</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="#">¿Cómo publico en Kupom City?</a>
                  </li>
                </ul>
              </div>
            </div>

            <div class="col-6 col-md mt-4">
              <h4>¡A Seguirnos!</h4>
              <p class="textSmall"><small>Estamos en las redes sociales para ayudarte con lo que necesites.</small></p>
              <a href="#" class="btnRedesFooter mr-3"><i class="fa fa-facebook"></i></a>
              <a href="#" class="btnRedesFooter"><i class="fa fa-instagram"></i></a>
            </div>

            <div class="col-xs-12 col-md mt-4">
              <h4>Descarga la app</h4>
              <a href="#" class="btnTiendasFooter"><img src="img/app-store.png"></a>
              <a href="#" class="btnTiendasFooter mt-3"><img src="img/google-play.png"></a>
            </div>

          </div>
        </div>

      </div>

      <div class="bottomFooter">
        <div class="container">
          <p>2017 Kupom City SPA, todos los derechos reservados.
            <br><a href="">[email protected]</a>
          </p>
        </div>
      </div>

    </footer>

    </body>
    </html>

Here I leave my app.js file.

   var app = angular.module('starter', [ 'starter.services','angularMoment'
                         , 'ui.router'      ])

        app.run(function($window, $q, $state, UserService, $rootScope, 
     $timeout) {


              if (JSON.stringify(UserService.getLoginUser()) != '{}') {
              }

            })

        app.config(function($stateProvider, $urlRouterProvider) {

            $stateProvider
              .state('inicio', {
                url: '/',
                templateUrl: 'inicio.html',
                controller: 'InicioCTRL'
              })

              .state('crear', {
                url: '/crear',
                templateUrl: 'crear.html',
                controller: 'CrearCTRL'
              })

              .state('interior-categoria', {
                url: '/interior-categoria',
                templateUrl: 'interior-categoria.html',
                controller: 'CategoriaCTRL'
              })

              .state('interior-kupom', {
                url: '/interior-kupom',
                templateUrl: 'interior-kupom.html',
                controller: 'KupomCTRL'
              })

              .state('login', {
                url: '/login',
                templateUrl: 'login.html',
                controller: 'LoginCTRL'
              })

              .state('perfil-comercio', {
                url: '/perfil-comercio',
                templateUrl: 'perfil-comercio.html',
                controller: 'PerfilComercioCTRL'
              })

              .state('perfil', {
                url: '/perfil',
                templateUrl: 'perfil.html',
                controller: 'PerfilUsuarioCTRL'
              })

              .state('recuperar', {
                url: '/recuperar',
                templateUrl: 'recuperar.html',
                controller: 'RecuperarCTRL'
              })

              .state('trabaja-con-nosotros', {
                url: '/trabaja-con-nosotros',
                templateUrl: 'trabaja-con-nosotros.html',
                controller: 'TrabajaNosotrosCTRL'
              })
                  $urlRouterProvider.otherwise('/');
        });

And finally my login driver.

   var app = angular.module("LoginCTRL",[]);

    app.controller("LoginController", [ '$state', 'UserService', 
    function($scope, $rootScope, $state, UserService) {

        $scope.usuario = {
      email: UserService.getUser().email,
      passwd: UserService.getUser().passwd,
      };

        var form = new FormData();
        form.append("email", $scope.usuario.email);
        form.append("passwd", $scope.usuario.passwd);
        var settings = {
          "async": true,
          "crossDomain": true,
          "url": "http://www.kupomcity.com/gamma/api_v2.php?_opt=user&_act=login",
          "method": "POST",
          "processData": false,
          "contentType": false,
          "mimeType": "multipart/form-data",
          "data": form
        }
        $.ajax(settings).done(function(response) {
          var data = JSON.parse(response);
          if (data.code == 'OK') {
            var userData = {
              k_user_id: data.user_id,
              k_user_nombre: data.nombre,
              k_user_email: data.email
            };
            $window.localStorage.setItem('user-data', JSON.stringify(userData));

            if (data.code == 'EXISTS') {
              $state.go('inicio', {}, {
                reload: true
              });
            }else{

            }
          } else if (data.code == 'ERROR') {

          } else {
            console.log('ELSE');
            console.log(data);
          }
        });


      }]);
    
asked by Nelson Jara Torres 27.07.2017 в 22:22
source

1 answer

-2

Try loading the service before your driver:

<script src="lib/services.js"></script>
<script src="js/controllers/LoginCTRL.js"></script>  
      <script src="app.js"></script> 
    
answered by 28.07.2017 в 19:42