У вас возникли проблемы с вызовом методов действия ASP.NET MVC Controller из угловой фабрики js.Угловая фабрика JS в ASP.NET MVC 5
var HomeModule = angular.module('HomeModule', []);
HomeModule.controller('HomeController', function ($scope) {
});
Это мой угловой контроллер JS.
<div ng-app="HomeModule" class="row">
<div ng-controller="HomeController" class="row">
</div>
Index.cshtml часть кода выглядит следующим образом. Когда я пытаюсь связать некоторую $ propetry от контроллера - это работает. Пожалуйста, помогите мне создать такую фабрику, чтобы вызвать мои методы контроллера ASP.NET. Все мои решения дают мне ошибки в консоли.
someControllerApp.factory('someFactory', ['$http', function ($http) {
var service = {
GetSomeData: function() {
return $http.post('/Some/SomeMethod');
},
};
return service;
}]);
Ошибка:
angular.js:14324 TypeError: someFactory.GetSomeData(...).success is not a function
at ChildScope.$scope.GetData (HomeController.js:7)
at fn (eval at compile (angular.js:1), <anonymous>:4:141)
at callback (angular.js:26673)
at ChildScope.$eval (angular.js:17958)
at ChildScope.$apply (angular.js:18058)
at HTMLButtonElement.<anonymous> (angular.js:26678)
at defaultHandlerWrapper (angular.js:3613)
at HTMLButtonElement.eventHandler (angular.js:3601)
Когда контроллер:
var HomeModule = angular.module('HomeModule', []);
HomeModule.controller('HomeController', function ($scope, someFactory) {
$scope.GetData = function() {
someFactory.GetSomeData().success(function (data) {
if (data.isSuccess) {
$scope.Address = data;
} else {
window.location.assign("/Error/Error500");
}
});
};
});
HomeModule.factory('someFactory', ['$http', function ($http) {
var service = {
GetSomeData: function() {
return $http.post('/Home/GetUserData');
}
};
return service;
}]);
Какие ошибки в консоли? – KieranDotCo
отредактировал сообщение с ошибкой –