다른 사이트에서 많은 기사를 읽었지만 해결되지 않은 문제가 있습니다. 간단한 AngularJS 애플리케이션을 작성하고 있습니다. 나는 Angular를 아주 좋아합니다. 웹 API에서 데이터를 가져 오는 $ http 서비스를 호출하는 팩토리 메서드를 작성했습니다. 웹 API가 정상적으로 실행 중이고 예상대로 JSON 객체가 반환됩니다.AngularJS - 공장을 사용하여 http serrvice를 호출 할 수 없습니다.
각도 코드는 작동하지 않는 이유는 잘 모릅니다 계속 이일을 보냈지 만 한
<body ng-controller="controller">
data: {{data}}
<br/>
error: {{error}}
<br />
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 코드입니다. 대신이 같은
당신이 콘솔에서 오류를보고있는 WebFactory에 $ q를 서비스를 제공 할 것입니다? – Sajeetharan
안녕하세요 @Sajeetharan, 나는 어떤 오류라도 보지 못한다. "HTML1300 : Navigation occurred." 만. –
getData 메소드가별로 의미가 없습니다. $ http()는 응답을받을 때 해결 될 약속을 반환합니다. 그것의 비동기 호출. 따라서 데이터를 가져 오면 어떤 경우에도 "데이터 없음"이 반환됩니다. 응답이 오면 콜백으로 처리하지만 그 이후에는 아무 것도 사용하지 않습니다. –