TypeError:无法读取属性'然后'在离子

时间:2016-10-21 22:19:29

标签: javascript angularjs cordova ionic-framework

我想在我的控制器中调用一个服务。该服务工作完美,也从我的服务器返回数据。 但在我的loginController中,我有以下错误:

  

TypeError:无法读取属性'然后'未定义的

我不知道为什么,因为我在homeController中使用了类似的东西并且工作得很完美!

永远不要去其他舞台,因为永远不会认出" .then"

这是我控制器中的代码:

(function() {
'use strict';

angular
    .module('example.login')
    .controller('LoginController', LoginController);

LoginController.$inject = ['$state','$ionicPopup', 'loginService', '$location'];

function LoginController($state, $ionicPopup, loginService, $location) {
    var vm = this;

    vm.data = [];
    vm.iniciarSesion = iniciarSesion;
    vm.cerrarSesion = cerrarSesion;
    inicializar();

    function inicializar() {
         //iniciarSesion();

    };



     function iniciarSesion() {
        loginService.iniciarSesion(vm.username, vm.password)
            .then(function(sesion) {
                 $state.go('app.home');
            });
    }




}
})();

这是我的服务:

(function() {
'use strict';

angular
    .module('example.login')
    .factory('loginService', loginService);

loginService.$inject = ['$http','remoteDataService', '$q','_','localStorageService'];

/* @ngInject */
function loginService($http, remoteDataService, $q,_, localStorageService){ 

    var token = 'token';

    var service = {
        iniciarSesion: iniciarSesion
    };
    return service;




    //funcion para iniciar sesión
    function iniciarSesion(username, password) {
        remoteDataService.obtenerSesion(username, password)
        .then(obtenerDatos);
    }

    function obtenerDatos(data, status, headers, config){
        if (data.token) {
            debugger;
                localStorageService.set(token, data.token);
                $http.defaults.headers.common.Authorization = 'Bearer ' + data.token;
        }
        else {
                return $q.reject('Ups! Hubo un problema al conectarse al servidor. Intente nuevamente');
        }
    }

}
})();

有人知道这里发生了什么吗?

我看到类似的帖子,但任何人都使用与我相同的结构。 谢谢!

0 个答案:

没有答案