我正试图从美国地质调查局获取地震数据并且我一直收到错误:
未捕获的SyntaxError:意外的令牌:
我尝试使用jsonp格式的$ .ajax并且我一直遇到同样的问题。我在我的网址末尾尝试了没有回调,在这种情况下我收到了错误:
MLHttpRequest无法加载http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_day.geojson。 Access-Control-Allow-Origin不允许原点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之外的其他东西,如果这种方式不可能的话。
答案 0 :(得分:3)
解决问题的最简单方法是告诉您想要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);
答案 1 :(得分:3)
在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);
});