我想在我的控制器中调用一个服务。该服务工作完美,也从我的服务器返回数据。 但在我的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');
}
}
}
})();
有人知道这里发生了什么吗?
我看到类似的帖子,但任何人都使用与我相同的结构。 谢谢!