2014-06-07 17 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; 
      }); 



    } 
} 
]); 

Nhưng tôi đã nhận lỗi sauAngular.js Không có tiêu đề 'Access-Control-Allow-Origin' xuất hiện trên tài nguyên được yêu cầu. Xuất xứ 'null' do đó không được phép truy cập

XMLHttpRequest không thể tải http://www.google.com/. Không có tiêu đề 'Access-Control-Allow-Origin' xuất hiện trên tài nguyên được yêu cầu. Do đó, gốc 'null' không được phép truy cập.

+1

Chỉ cần tự hỏi tại sao bạn không sử dụng [ 'ngResource'] (https://docs.angularjs.org/api/ngResource/service/$resource) cho các loại nhiệm vụ. Nó có nghĩa là để ngồi trên đầu trang của '$ http', để làm cho nó dễ dàng hơn để làm việc với. – Droogans

Trả lời

46

Access-Control-Allow-Originđược thiết lập trên những phản hồi từ máy chủ, không theo yêu cầu khách hàng để cho phép khách hàng từ nguồn gốc khác nhau để có quyền truy cập vào các phản ứng.

Trong trường hợp của bạn, http://www.google.com/ không cho phép gốc của bạn có quyền truy cập vào phản hồi. Do đó bạn không thể đọc nó.

Để biết thêm thông tin về CORS: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

+2

Bất kỳ ai có phần phụ trợ của Rails, hãy xem http://stackoverflow.com/questions/17858178/allow-anything-through-cors-policy và https://github.com/cyu/rack-cors – weltschmerz

Các vấn đề liên quan