gpt4 book ai didi

javascript - 使用 angularJs 的 Google API 中的跨域问题

转载 作者:行者123 更新时间:2023-11-29 19:16:09 25 4
gpt4 key购买 nike

我正在使用以下代码从 google API 获取位置详细信息。

我的代码:

 if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position){
$scope.$apply(function(){
$http.get('http://maps.googleapis.com/maps/api/geocode/json?latlng='+position.coords.latitude+','+position.coords.longitude+'&sensor=true').then(function(res){
alert(res.data);
});


});
});
}

当我尝试此代码时出现跨域错误。

我的错误:

XMLHttpRequest cannot load http://maps.googleapis.com/maps/api/geocode/json?latlng=8.5663029,76.8916023&sensor=true. Request header field Authorization is not allowed by Access-Control-Allow-Headers in preflight response.

请建议解决这个问题

最佳答案

您正在发送授权 header ...这会导致 CORS 预检,而谷歌不喜欢授权 header

您需要从 API 调用中删除此 header

看看这是否有帮助

$http.get("your long url", {headers: {Authorization: undefined}})

显然为了可读性我已经替换了实际的 url

我也看到了下面的建议

$http( {
method: 'GET',
url: 'someurl',
headers: {
'Authorization': undefined
}
}
)

因此,与其使用 $http.get“快捷方式”,不如使用 $http“通用”请求格式

关于javascript - 使用 angularJs 的 Google API 中的跨域问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35198033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com