API를 소비하는 Angular를 사용하여 간단한 응용 프로그램을 만들려고합니다. VM을 사용하여 코드를 실행하고 내 컴퓨터에서 액세스하므로 컴퓨터에서 API를 호출하기 위해 cURL 또는 다른 HTTP 클라이언트를 사용할 수 있으며 모든 것이 작동합니다. 예 :
컬 -k --user [email protected] : 비밀번호 https://api.my.domain.com/v1/traveler/get
는 그리고 예를 들어 여행자의 목록을 반환합니다. 유효하지 않은 인증서를 "신뢰"해야합니다. 따라서 브라우저에서 처음에는 net::ERR_INSECURE_RESPONSE
을 반환하므로 API URL로 이동하여 예외를 추가하고 이제는 더 이상이 문제가 발생하지 않습니다. 그런 다음 기본 인증을 추가해야만 제대로 작동하는 것 같습니다. http://www.toptal.com/angular-js/a-step-by-step-guide-to-your-first-angularjs-app
app.js :
angular.module('TravelerApp', [
'TravelerApp.controllers',
'TravelerApp.services'
]);
services.js : 내가 외부 API를 소비하는이 튜토리얼 다음 야의 내 코드 무엇인지 보자 당신은 아무것도 잘못보고 있으면 알려 주시기 바랍니다
을 마지막으로angular.module('TravelerApp.services', [])
.factory('TravelerAPIService', function($http) {
var travelerAPI = {};
$http.defaults.headers.common.Authorization = 'Basic ABC743HFEd...=';
travelerAPI.getTravelers = function() {
return $http({
method: 'GET',
url: 'https://api.my.domain.com/v1/traveler/get'
});
}
return travelerAPI;
});
의 controllers.js :
angular.module('TravelerApp.controllers', [])
.controller('travelersController', function($scope, TravelerAPIService) {
$scope.travelersList = [];
TravelerAPIService.getTravelers()
.success(function(data) {
console.log('SUCCESS');
$scope.travelersList = data;
})
.error(function(data, status) {
console.log('ERROR');
$scope.data = data || "Request failed";
$scope.status = status;
});
});
오류 상태 코드 0이고 오류 데이터는 빈 문자열입니다.
나는 HTTP 서버를 죽이고 요청할 때 비슷한 결과를 얻는다. 아마 관련 : http://stackoverflow.com/questions/2000609/jquery-ajax-status-code-0 –