首先,我是 Angular 的新手。我准备了一些 Web Api,我想从中获取一些数据。 我的服务功能获取日期(工作正常):
var _getRole = function () {
$http.get(serviceBase + 'api/User/CurrentUserRoles').then(function (results) {
return results;
});
};
和 Controller :
var role = [];
authService.getRole().then(function (results) {
role = results.data;...
在 Controller 的这个函数中我得到异常:
TypeError: Cannot read property 'then' of undefined
at n.$scope.login (http://localhost/.../app/controllers/loginController.js:27:30)
at ib.functionCall (http://localhost/.../Scripts/angular.min.js:199:303)
at Ec.(anonymous function).compile.d.on.f (http://localhost/.../Scripts/angular.min.js:216:74)
at n.$get.n.$eval (http://localhost/.../Scripts/angular.min.js:126:15)
at n.$get.n.$apply (http://localhost/.../Scripts/angular.min.js:126:241)
at HTMLButtonElement.<anonymous> (http://localhost/.../Scripts/angular.min.js:216:126)
at HTMLButtonElement.c (http://localhost/.../Scripts/angular.min.js:32:389)
请帮忙。谢谢。
最佳答案
您需要从 $http
返回自身的函数返回 promise 。
代码
var _getRole = function () {
return $http.get(serviceBase + 'api/User/CurrentUserRoles');
};
关于javascript - AngularJS:类型错误:无法读取未定义的属性 'then',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30005790/