【发布时间】:2015-10-02 23:37:41
【问题描述】:
我正在开发一个应用程序,我必须使用 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?
【问题讨论】:
-
“我的浏览器抱怨响应中有错误”——确切地说,它抱怨什么?引用错误信息,不要笼统地描述它。
-
Read the documentation 顶部有一个巨大的框,指向为客户端 JS 设计的 API 版本。
-
请参考我对 CORS 问题的回答:How to bypass CORS issue ?
标签: javascript jquery json google-api cors