web-dev-qa-db-ja.com

Angular.js要求されたリソースに「Access-Control-Allow-Origin」ヘッダーがありません。したがって、オリジン「null」はアクセスを許可されていません

//Create an Angular Module.
var newsModule = angular.module('NewsModule', []);

//Create an Angular Controller.
newsModule.controller('newsCtrl', ['$scope', '$http', function ($scope, $http) {
//function retrives POST,UPDATE,DELETE,GET data

$http.defaults.headers.put = {
        'Access-Control-Allow-Origin': '*',
        'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
        'Access-Control-Allow-Headers': 'Content-Type, X-Requested-With'
        };
        $http.defaults.useXDomain = true;

    $scope.throughdata = function (){

 delete $http.defaults.headers.common['X-Requested-With'];
         $http.get('http://www.google.com').then(function(data,error){
            alert(data);
            alert(error);
            $scope.days=data.data;
          });



    }
}
 ]);

しかし、次のエラーが発生します

XMLHttpRequestをロードできません http://www.google.com/ 。要求されたリソースに「Access-Control-Allow-Origin」ヘッダーがありません。したがって、Origin 'null'はアクセスを許可されません。

26
Shankar Kamble

Access-Control-Allow-Originはサーバーからの応答に設定されますクライアント要求には設定されません異なる発信元のクライアントが応答にアクセスできるようにします。

あなたの場合、 http://www.google.com/ は、Originが応答にアクセスすることを許可しません。したがって、それを読むことはできません。

CORSの詳細: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

46
Khanh TO