2013-10-17 60 views
1

我想從USGS地震數據,我不斷收到錯誤:的getJSON意外的標記錯誤

未捕獲的SyntaxError:意外的標記:

我嘗試$就與JSONP格式和我不斷得到同樣的問題。我嘗試沒有回調在我的網址結束,以及在那種情況下,我得到的錯誤:

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的其他東西,如果它是不可能這樣。

+2

使用他們的JSONP服務,服務是不是纏繞在數據calback函數名。當然他們有jsonp支持? – Bernhard

+0

此服務不提供JSONP,只是常規的JSON。而且,由於您位於不同的域中,因此無法通過客戶端直接訪問此服務。您需要在自己的域上設置代理。 – Steve

回答

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); 
+0

你先生真棒!我正要實現一個php代理。 – codeBarer