获取 JSON 意外令牌错误

getJSON unexpected token error

本文关键字:错误 令牌 意外 JSON 获取      更新时间:2023-09-26

我正在尝试从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);
});