我正在开发一个应用程序,该应用程序必须使用Google的海拔高度API来获取某些点的海拔高度,并且陷入了臭名昭著的CORS问题。

var elevationUrl = 'https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536,-104.9847034&key=AIzaSyAgXFgUVR4Nia7pegX_0hcz0aNevCKAa58';

$.ajax({
    url: elevationUrl,
    type: 'GET',
    // dataType: 'JSONP',
    success: function(){
    }
});

首先,我只是想查询一个固定点。这样做时,我在浏览器的控制台中收到了CORS警报。

当我尝试dataType: 'JSONP'时,它可以工作,并且我从API得到响应,但是我的浏览器抱怨该响应在响应中有错误,但没有。基本上,我试图将JSON解析为JSONP,这就是为什么我在响应中遇到语法错误的原因。

怎么办呢?如何通过AJAX调用查询Elevation API?

最佳答案

我使用Chrome的Allow-Control-Allow-Origin插件来解决这种问题。它将允许您启用/禁用Chrome中的CORS。
https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en

07-24 09:37
查看更多