Angular.js请求的资源上没有"Access-Control-Allow-Origin"标头.因此不允许原点'null'访问

Sha*_*ble 26 javascript cors angularjs

//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;
          });



    }
}
 ]);
Run Code Online (Sandbox Code Playgroud)

但我有以下错误

XMLHttpRequest无法加载http://www.google.com/.请求的资源上不存在"Access-Control-Allow-Origin"标头.因此不允许原点'null'访问.

Kha*_* TO 46

Access-Control-Allow-Origin 在服务器的响应上设置,而不是在客户端请求上设置,以允许来自不同来源的客户端访问响应.

在您的情况下,http://www.google.com/不允许您的来源访问回复.因此你无法阅读它.

有关CORS的更多信息:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

  • 有Rails后端的任何人,请参阅http://stackoverflow.com/questions/17858178/allow-anything-through-cors-policy和https://github.com/cyu/rack-cors (2认同)