Angularjs和访问控制源标题访问url

Angularjs和访问控制源标题访问url,angularjs,node.js,Angularjs,Node.js,我使用nodejs作为后端和angularjs 在我的前端应用程序中,我需要在“”处读取提要 我收到一个访问控制源错误 我不明白,因为如果我使用带有此url的邮递员应用程序,或者直接在浏览器中键入,则不会发生错误 我做错了什么 在我的控制器中,我正在使用: app.controller('OpenWeatherCtrl', ['$scope','$http', function($scope,$http) { $http.get('http://feeds.folha.uol.com.br

我使用nodejs作为后端和angularjs

在我的前端应用程序中,我需要在“”处读取提要

我收到一个访问控制源错误

我不明白,因为如果我使用带有此url的邮递员应用程序,或者直接在浏览器中键入,则不会发生错误

我做错了什么

在我的控制器中,我正在使用:

app.controller('OpenWeatherCtrl', ['$scope','$http',
   function($scope,$http) {
$http.get('http://feeds.folha.uol.com.br/folha/ciencia/rss091.xml')
.then(function(data) {
        if (data && data.length >0 ) {
            $scope.news = data;
        }
    });
但我得到了下一个错误:

XMLHttpRequest cannot load http://feeds.folha.uol.com.br/folha/ciencia/rss091.xml. 
Response to preflight request doesn't pass access control check: 
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access.

这是因为您正在访问的站点强制执行,因此您无法从其他网页访问该特定URL。web服务器告诉您的浏览器,它不允许从您的域(在本例中为localhost)访问自己。所以浏览器拒绝加载并触发错误。如果出于开发目的,可以关闭浏览器的同源策略。但显然你不能在生产中使用它。如果您是网站的所有者,您可以允许从localhost或您想要的任何其他域进行访问。

可能的重复性这里有数百个关于此错误的问题,他们都说了同样的话。浏览器的工作原理与邮递员不同,除非你试图获取订阅源的网站允许你的应用程序从他们那里访问,否则你无法以这种方式获取数据。CORS是一种安全功能,主动设计用于阻止您尝试执行的操作。我有其他使用delphi的应用程序,我可以毫无问题地访问url。对不起,我不知道是什么错了,JavaScript需要在服务器上进行特殊配置(CORS),而其他访问类型则不需要。浏览器是不安全的,除非服务器主动允许,否则不能通过XHR传输文件。