API を使用する Angular を使用して単純なアプリを作成しようとしています。私は VM を使用してコードを実行しており、自分のコンピューターでそれにアクセスしているため、自分のマシンから API を呼び出すには、cURL またはその他の HTTP クライアントを使用でき、すべてが機能します。例:
curl -k --user damien@email.com:パスワードhttps://api.my.domain.com/v1/traveler/get
たとえば、旅行者のリストが返されます。証明書が無効であるため、証明書を「信頼」する必要があります。したがって、ブラウザでは最初は呼び出しが返さnet::ERR_INSECURE_RESPONSE
れるため、API URL に移動して例外を追加するだけで、この問題はもうありません。次に、基本認証を追加する必要がありましたが、機能しているようです。私のコードが何であるかを見てみましょう。何か問題がある場合はお知らせください。外部 API を使用するこのチュートリアルに従っています: http://www.toptal.com/angular-js/a-step-by-step -初めてのangularjsアプリへのガイド
app.js:
angular.module('TravelerApp', [
'TravelerApp.controllers',
'TravelerApp.services'
]);
services.js:
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 で、エラー データは空の文字列です。