我正在尝试从USGS获取地震数据,但不断收到错误:
未捕获的语法错误: 意外令牌 :
我尝试了使用 jsonp 格式的 $.ajax,但一直遇到同样的问题。我也尝试在我的 url 末尾没有回调,在这种情况下我收到错误:
MLHttpRequest 无法加载 http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_day.geojson。访问控制允许原点不允许源 http://people.oregonstate.edu。
$.getJSON(
"http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_day.geojson&callback=?",
function(data) {
console.log(data);
}
);
如果无法以这种方式获取数据,有人可以帮助我获取数据或 jQuery 以外的其他内容。
解决方法是告诉服务你想要jsonp,然后使用服务提供的回调。
window.eqfeed_callback = function(data){
console.log(data);
};
//$.getScript("http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_day.geojsonp");
var s = document.createElement("script");
s.src = "http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_day.geojsonp";
document.getElementsByTagName("head")[0].appendChild(s);
在 http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_day.geojsonp 使用他们的 JSONP 服务
$.ajax({
url: 'http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_day.geojsonp',
dataType: 'jsonp',
jsonp: false,
jsonpCallback: 'eqfeed_callback'
}).done(function(data) {
console.log(data);
});