我只是AngularJS的初學者。我正在嘗試在我的Angular數據服務上構建一個方法調用,並向其傳遞需要發佈到服務器的對象。數據服務的名稱是requestsRepository,控制器的名稱是EnterNewRequestCtrl。我的服務有一個方法「postServiceRequest」,我試圖通過我的數據對象發佈。當我把這個methon從控制器,我得到以下錯誤:類型錯誤:無法調用未定義 方法「postServiceRequest」在範圍$ scope.submitRequest(http://myhost.mydomain.com:9221/controllers/EnterNewRequestCtrl.js:9:28)AngularJS:如何正確溝通ebwteen控制器和服務的方法
這裏既是服務的完整列表和控制器。
服務:
frontEndApp.factory('requestsRepository', function ($http) {
var postServiceRequest = function (ServiceRequest) {
$http({
url: 'http://localhost:8080/api/Customers',
method: "POST",
data: ServiceRequest,
headers: { 'Content-Type': 'application/json' }
}).success(function (data, status, headers, config) {
//$scope.persons = data; // assign $scope.persons here as promise is resolved here
console.log("postServiceRequest SUCCESS");
}).error(function (data, status, headers, config) {
//$scope.status = status;
console.log("postServiceRequest FAILURE: " + status);
});
}
});
而現在的控制器:
angular.module('frontEndApp').controller('EnterNewRequestCtrl',function ($scope, requestsRepository) {
$scope.RequestorName;
$scope.RequestorBusinessUnit;
$scope.submitRequest = function() {
var ServiceRequest = {
requestorName: $scope.RequestorName,
requestorBusinessUnit: $scope.RequestorBusinessUnit
};
requestsRepository.postServiceRequest(ServiceRequest);
}
});
什麼是實現這個控制器的正確方法 - 服務器的方法調用?
非常感謝Anthony! –
不用擔心......代碼中可能存在一些細微的錯誤,但應該是這個想法。 –