我正在开发一个应用程序,该应用程序必须使用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