为相同的域请求设置访问控制标头

时间:2013-11-01 17:23:10

标签: angularjs restangular

我正在使用restangular来使用与角度文件在同一服务器上托管的api。对api的所有请求都是Access-Control-Allow-Origin错误不允许获取Origin。我试过在配置

中改变标题
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];

并更新角度/ restangular。有没有办法使用restangulars setdefaultheaders方法设置相同域请求的标头?

1 个答案:

答案 0 :(得分:4)

您获得的错误是由于您的Web服务器的跨源资源共享(CORS)策略造成的。

同一服务器上的资源是不够的。它们必须由同一主机提供服务。 重要的是要了解api.mydomain.comwww.mydomain.com不同。 另外,使用不同的端口(api.mydomain.com vs api.mydomain.com:9000)会使其成为不同的主机。

检查服务器响应的响应是否包含HTTP标头:

"Access-Control-Allow-Origin: api.yourdomain.com"

要查看如何在网络服务器上启用CORS,请查看此有用的网站:enable_cors.org

您可以阅读有关CORS

的更多信息