【发布时间】:2016-02-05 12:10:21
【问题描述】:
我已经建立了一个工厂来处理我的控制器的功能,但不知何故,控制器在其中一个功能上返回错误:
错误:Auth.getUser(...).success 不是函数 @http://localhost:8080/app/controllers/mainCtrl.js:10:1
...
我不知道这里发生了什么,其余的功能似乎工作正常?
主控制器:
angular.module('mainCtrl', [])
.controller('mainController', function($rootScope, $location, Auth) {
var vm = this;
vm.loggedIn = Auth.isLoggedIn();
$rootScope.$on('$routeChangeStart', function() {
vm.loggedIn = Auth.isLoggedIn();
Auth.getUser()
.success(function(data) {
vm.user = data;
});
});
vm.doLogin = function() {
Auth.login(vm.loginData.username, vm.loginData.password)
.success(function(data) {
$location.path('/users');
});
};
});
【问题讨论】:
-
您使用的是哪个版本的 Angular?
-
AngularJS v1.4.7,刚刚安装了带凉亭的角度
-
你应该使用 .then() 函数。您可以将 2 个函数作为参数传递给它,第一个用于成功回调(与 .success 相同),第二个用于错误回调。
-
$q.reject() 会返回一个没有成功方法的承诺,不是吗?即使在旧版本中?
-
你的问题有很多浏览量,是这个错误信息的第一个谷歌结果。因此,我认为可以通过删除所有代码并仅询问错误消息来对其进行彻底编辑。但是我不想在不事先询问的情况下对您的帖子进行如此大的编辑(我也是一个有角度的新手,所以我可能是错的)。你同意吗?
标签: angularjs