2013-01-04 42 views
2

我想從下面的URL獲取JSON數據並以任何可能的方式在我的網頁中使用它,可以這樣做嗎?如果可能,使用AJAX從URL獲取JSON數據

http://fantasy.premierleague.com/web/api/elements/100/

(注意:我並不擁有這個網站,我只是用數據簡單的免費應用程序。)

如果我只需輸入網址到它的工作原理瀏覽器但沒有好,因爲我希望我的網頁使用數據,所以一個AJAX請求將是理想的,但我不能得到它的工作。 我試過使用jQuery AJAX調用,但無法讓它工作。

我盯着認爲這是不可能從瀏覽器內,我需要使用機械化或類似的東西,這不是一個真正的選擇。

謝謝。

+0

該數據不是JSON,而是JSONP。 –

+0

這篇文章可能會幫助你:http://stackoverflow.com/q/3595515/221781 – izilotti

+0

他們的JSONP有一些非常奇怪的事情發生。如果我添加一個回調函數,它似乎將其緩存在服務器端,即使在發送緩存殺手時也是如此。除非您詢問API的創建者發生了什麼,否則您將遇到無窮無盡的問題。 – jeremyharris

回答

4

我有這個工作,現在錯誤函數得到執行與200狀態代碼。是否有可能限制每x秒查詢次數,因爲它是間歇性工作的。

編輯:他們的緩存正在發生。東西是頂起來的。

$.ajax({ 
    type:"GET", 
    url: "http://fantasy.premierleague.com/web/api/elements/100/", 
    success: function(data) { 
      $("body").append(JSON.stringify(data)); 
     }, 
    error: function(jqXHR, textStatus, errorThrown) { 
      alert(jqXHR.status); 
     }, 
    dataType: "jsonp" 
});​​​​​​​​​​​​​​​ 
+0

下面是我通過使用Firebug使用API​​的例子。它似乎將URL的當前時間放在毫秒之後。這裏有一個例子:http://fantasy.premierleague.com/web/api/elements/415/?_=1357337284504 – user1947215

+0

我用下面的代碼來創建時間戳,但仍然有問題:'var d = new Date(); var epocTime =(d.getTime() - d.getMilliseconds());'然後這個'url:'http://fantasy.premierleague.com/web/api/elements/100/?_='+ epocTime' – user1947215