【发布时间】:2015-08-18 16:19:25
【问题描述】:
我正在尝试使用 Mapbox 的Surface API 来分析两个给定点之间的地形。我正在获取两点的坐标并向 API 发送 AJAX 调用,但我遇到了臭名昭著的 CORS 问题。
首先,我尝试在其示例中使用 Mapbox 本身提供的 URL:
$('#runTerrainAnalysis').on('click', function(e){
var url = 'https://api.tiles.mapbox.com/v4/surface/mapbox.mapbox-terrain-v1.json?layer=contour&fields=ele&points=-112.084004,36.05322;-112.083914,36.053573;-112.083965,36.053845&access_token=pk.eyJ1Ijoicm9oYW4wNzkzIiwiYSI6IjhFeGVzVzgifQ.MQBzoHJmjH19bXDW0b8nKQ';
$.ajax({
url: url,
method: 'GET',
success: function(response){
console.log(response);
},
error: function(response){
console.log(response);
}
});
});
跨域请求被阻止:同源策略不允许读取 远程资源在 https://api.tiles.mapbox.com/v4/surface/mapbox.mapbox-terrain-v1.json?layer=contour&fields=ele&points=-112.084004,36.05322;-112.083914,36.053573;-112.083965,36.053845&access_token=pk.eyJ1Ijoicm9oYW4wNzkzIiwiYSI6IjhFeGVzVzgifQ.MQBzoHJmjH19bXDW0b8nKQ。 (原因:CORS 标头“Access-Control-Allow-Origin”缺失)。
如何让它工作?
【问题讨论】:
-
尝试包含:
crossDomain: true