0
我有一個控制器和者地位(我將發佈所有控制器和服務代碼,因爲我不知道什麼可能是錯誤的):Angular.js服務功能未定義
控制器:
'use strict';
app.controller('membersController', ['$scope', 'membersService', function($scope, membersService) {
$scope.members = [];
$scope.updatedMembers = [];
membersService.getMembers().then(function (results)
{
$scope.members =results.data;
},
function(error) {
alert(error.data.message);
});
$scope.update = function() {
membersService.updateMembers($scope.updatedMembers).then(function(results) {
alert(results);
},
function(results) {
alert(results);
});
};
$scope.updateActive = function(member) {
if (!isInArray($scope.updatedMembers,member))
{
$scope.updatedMembers.push(member);
}
};
var isInArray = function(array, item) {
var found = false;
for (var i = 0; i < array.length; i++) {
if (array[i].id == item.id) {
found = true;
break;
}
}
return found;
};
}]);
服務:
'use strict';
app.factory('membersService', ['$http', 'ngAuthSettings', function ($http, ngAuthSettings) {
var serviceBase = ngAuthSettings.apiServiceBaseUri;
var membersServiceFactory = {};
var _getMembers = function() {
return $http.get(serviceBase + 'api/members').then(function (results) {
return results;
});
};
var _updateMembers = function(updatedMembers) {
$http.post(serviceBase + 'api/Members/UpdateMembers', updatedMembers, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }).then(
function (results) {
return results;
},
function(results) {
return results;
});
};
membersServiceFactory.getMembers = _getMembers;
membersServiceFactory.updateMembers = _updateMembers;
return membersServiceFactory;
}]);
這是我得到的螢火錯誤:
Error:
membersService.updateMembers(...) is undefined
[email protected]://localhost:37272/Controllers/membersController.js:16:13
$a.prototype.functionCall/<@http://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js:172:370
fc[c]</<.compile/</</<@http://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js:189:395
Yd/this.$get</[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js:108:471
Yd/this.$get</[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js:109:230
fc[c]</<.compile/</<@http://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js:189:370
ne/c/<@http://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js:31:30
[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js:7:363
ne/[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js:31:14
任何人都可以至少指向正確的方向,因爲我是angular.js中的新手。此外,我想發現請求傳遞到.NET的WebAPI即使有這樣的錯誤
這就是說'updateMemebers'的返回值是未定義的,因爲你沒有從你的方法返回任何東西。 '返回$ http.post(...' – 2014-09-05 14:37:52