【发布时间】:2015-05-10 20:32:01
【问题描述】:
我很难在本地应用中启用 CORS。我一直在关注sails.js 的文档,我所要做的就是更改此设置“allRoutes:true”以启用cors。然后,当我尝试使用 angular 使用 google API 时。
getLocation: function(val) {
return $http.get('http://maps.googleapis.com/maps/api/geocode/json', {
params: { address: val, sensor: false }
});
}
我的 chrome 控制台出现以下错误:
选项http://maps.googleapis.com/maps/api/geocode/json?address=an&sensor=false
(索引):1 XMLHttpRequest 无法加载 http://maps.googleapis.com/maps/api/geocode/json?address=ui&sensor=false。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问 Origin 'http://localhost:1337'。响应的 HTTP 状态代码为 405。
希望有人对此有解决方案。问候。
【问题讨论】:
-
您是否有一个角度拦截器正在向请求添加标头? sails.js 与此无关。
-
嗨凯文。正如文档中明确说明的那样,我已在我的角度配置中添加了此设置。 .config(['$httpProvider', function($httpProvider) { $httpProvider.defaults.useXDomain = true; 删除 $httpProvider.defaults.headers.common['X-Requested-With']; }])
-
我看不出 cors 与 angular 有什么关系,或者sails 配置与 google 的服务器有什么关系...
-
您能否发布请求的图像(在 chrome 的开发工具 -> 网络选项卡中),以便我们可以看到所有发送的标头?
标签: javascript angularjs cors sails.js