Чтобы решить проблему, я просмотрел множество статей на разных сайтах, но никто не разрешил это. Я пишу простое приложение AngularJS. Я совершенно новый для Углового. Я написал метод фабрики, который вызывает службу $ http, которая получает данные из веб-api. Web api работает нормально и возвращает объект JSON, как ожидалось.AngularJS - Не удается вызвать http serrvice с использованием фабрики
Угловая Код
var app = angular.module("app", [])
.controller("controller", function ($scope, WebFactory) {
$scope.data = "data";
$scope.error = "error";
$scope.data=WebFactory.getData();
})
.factory("WebFactory", function ($http) {
var obj = {};
obj.getData = function()
{
$http({
method: "GET",
url: "http://localhost:37103/api/employee",
}).then(function success(response) {
return response.data;
})
.then(function error(response) {
return response;
});
return 'No data';
}
return obj;
});
HTML код
<body ng-controller="controller">
data: {{data}}
<br/>
error: {{error}}
<br />
Я провел 2 дня, но до сих пор не знаю, почему он не работает.
вы видите какие-либо ошибки в консоли? – Sajeetharan
Привет @Sajeetharan, я не вижу никаких ошибок, он говорит: «HTML1300: Навигация произошла». только. –
Ваш метод getData не имеет большого смысла. $ http() возвращает обещание, которое будет разрешено, когда вы получите ответ. Его асинхронный вызов. Итак, от получения данных вы возвращаете «Нет данных» в любом случае. Когда приходит ответ, вы просто обрабатываете его в обратном вызове, но потом ничего не использует. –