AngularJs - $ resource - headers CORS

时间:2018-03-22 20:03:35

标签: angularjs cors

我知道有很多关于CORS的信息,但有很多我找不到我需要的东西。 我正在建立一个Cordova APP,我正在调用Google Maps Distance API以获得两点之间的距离。但是当我使用$ resourse调用它时,我得到了CORS错误。

错误:

  

对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://localhost:8000”访问。

我的工厂

function googleMapsApi($resource, API_KEY_WIN,DIST_URL_WIN){

        var url = DIST_URL_WIN+mylat+','+mylng+'&destinations='+lat+','+lng+'&key='+API_KEY_WIN;
            console.log(url);
            var result = $resource(url, {}, {get: {
                method: 'GET',
                headers: {
                    'Access-Control-Allow-Origin': '*',
                    'Access-Control-Allow-Methods': 'GET, POST, OPTIONS, DELETE, PUT',
                    'Access-Control-Allow-Headers': 'Origin, Content-Type, Accept, Authorization, X-Request-With, X-CLIENT-ID, X-CLIENT-SECRET',
                    'Access-Control-Allow-Credentials': true
                }
                }
            });
            return result;
}

我做错了什么? 注意:安装Chrome的插件无法解决我的问题。

1 个答案:

答案 0 :(得分:0)

Access-Control-Allow标头应由服务器本身发出,而不是请求客户端。我认为您需要使用Google API包,并在Google域中提供。

<script src="https://apis.google.com/js/api.js" type="text/javascript"></script>