我知道有很多关于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的插件无法解决我的问题。
答案 0 :(得分:0)
Access-Control-Allow标头应由服务器本身发出,而不是请求客户端。我认为您需要使用Google API包,并在Google域中提供。
<script src="https://apis.google.com/js/api.js" type="text/javascript"></script>