Flickr の写真検索 API 用の JavaScript を使用したデモを作成しました。現在、これを AngularJs に変換しています。インターネットで検索したところ、以下の構成が見つかりました。
構成:
myApp.config(function($httpProvider) {
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
});
サービス:
myApp.service('dataService', function($http) {
delete $http.defaults.headers.common['X-Requested-With'];
this.flickrPhotoSearch = function() {
return $http({
method: 'GET',
url: 'http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=3f807259749363aaa29c76012fa93945&tags=india&format=json&callback=?',
dataType: 'jsonp',
headers: {'Authorization': 'Token token=xxxxYYYYZzzz'}
});
}
});
コントローラ:
myApp.controller('flickrController', function($scope, dataService) {
$scope.data = null;
dataService.flickrPhotoSearch().then(function(dataResponse) {
$scope.data = dataResponse;
console.log($scope.data);
});
});
しかし、それでも同じエラーが発生しました。試したリンクをいくつか示します。
XMLHttpRequest は URL を読み込めません。Access-Control-Allow-Origin によって Origin が許可されていません
ベストアンサー1
必要ありません。リクエスト先のサーバーは、Web サイトからの JavaScript へのアクセスを許可するために CORS を実装する必要があります。JavaScript は、別の Web サイトにアクセスする許可を自分自身に付与することはできません。