2014-06-07 15 views
25
//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; 
      }); 



    } 
} 
]); 

izin verilmez Ama http://www.google.com/ yükleyemiyor aşağıdaki hatalarıAngular.js İstenilen kaynakta 'Erişim-Denetim-İzin-Kökeni' başlığı yok. Kökeni 'boş' dolayısıyla erişim

XMLHttpRequest gitmeyi istesem. İstenen kaynakta 'Erişim-Kontrol-İzin-Kökeni' başlığı yok. Origin 'null' bu nedenle erişime izin verilmiyor.

+1

Sadece merak Görevler Çalışmayı daha kolay hale getirmek için '$ http' üstüne oturmak anlamına gelir. – Droogans

cevap

46

Access-Control-Allow-Origindeğil istemci isteği farklı kökenlerden gelen müşteriler tepki erişmesini sağlamak için üzerine sunucunun, gelen yanıtta ayarlanır.

Sizin durumunuzda, http://www.google.com/, kaynağınızın yanıta erişmesine izin vermez. Bu yüzden okuyamazsın. CORS hakkında daha fazla bilgi için

: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

bu türleri için [ `ngResource`] (https://docs.angularjs.org/api/ngResource/service/$resource) kullanmadığınız neden
+2

Rails backend olan herkes, bkz. Http://stackoverflow.com/questions/17858178/allow-anything-through-cors-policy ve https://github.com/cyu/rack-cors – weltschmerz

İlgili konular