2012-11-09 138 views
5

從昨晚開始,我就開始關注JavaScript和jQuery。我正在玩foursquare API(我已經討厭oauth,但可能會在另一個時間發佈另一篇文章),當你有基本的知識時很難,儘管我喜歡這種學習方式。如何從此API鏈接獲取數據?

我的問題很簡單,我想從一個不需要認證/授權的API URL獲取數據。然後我只想顯示它(在我的代碼中,我已將它顯示爲onclick的警報)。

<!DOCTYPE html> 
<html> 
    <head> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
     <script> 
      $(document).ready(function() { 
       $("button").click(function() { 
        $.getJSON('https://api.foursquare.com/v2/users/self/venuehistory?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121108', 

        function (data) { 
         alert(data); 
        }); 
       }); 
      }); 
     </script> 
    </head> 

    <body> 
     <button>Send an HTTP POST request to a page and get the result back</button> 
    </body> 
</html> 

當我點擊警報時,它向我提供「[object,Object]」,顯然這不是我正在尋找的。我如何讓它顯示來自URL的數據?我知道這是非常基本的(我知道該怎麼做,而不是如何去做),非常感謝任何能夠幫助我的人。

回答

7

您不能對JSON對象執行alert()

相反,試試這個:

alert(JSON.stringify(data)); 

,或者使用console.log

console.log(data); 
+1

只是哇,它比我想象的更簡單。我學到了一些新東西,還有更多新東西要學習,謝謝! –

+1

我會親自使用'console.log'。它會幫助你一個平穩的方式:) –

+1

是的,'alert()'停止腳本的執行。 – 11684

1

看到每個屬性及其關聯值嘗試

function(data){ 
for(att in data){ 
console.log(data[att]); 
} 
1

只要寫 警報(數據。源());

看來這就是你要找的東西