2011-12-26 65 views
2

檢索Twitter的追隨者,我剛開始使用Twitter的API使用jQuery檢索數據。我已經使用API​​來檢索關於單個用戶的信息,例如https://twitter.com/users/show/codinghorror.json404使用JQuery的getJSON

當我嘗試檢索給定用戶所關注的所有用戶時,我使用的是相同的檢索模式,但得到了404錯誤(它看起來像我的回調沒有正確接收json對象,但其附加到莫名其妙的URL)

我用下面的代碼:

getTwitterUserFriends: function() { 
      var user = 'codinghorror'; 
      var url = 'http://api.twitter.com/1/friends/ids.json?screen_name='+user+'?callback=?'; 
      $.getJSON(url, function(data) { 
       alert('call succeeded' + data.ids); 
      }); 
     }, 

在Chrome中,控制檯顯示以下錯誤:

GET https://api.twitter.com/1/friends/ids.json?screen_name=codinghorror?callback=jQuery15201747908447869122_1324917568956&_=1324917580929 404 (Not Found) 

但是,如果我瀏覽到的URL直接https://api.twitter.com/1/friends/ids.json?screen_name=codinghorror那麼我可以看到的結果對象返回。

我認爲我做一些簡單的錯誤與我的回調,但不能看到它是什麼,因爲我上面使用已經爲其它API調用,所以任何幫助,將不勝感激的辦法!

回答

1

你的URL語法不正確。 「回調」參數應該由「&」分開,而不是「?」。

var url = 'http://api.twitter.com/1/friends/ids.json?&screen_name='+user+'&callback=?'; 

你應該URL編碼的用戶名太:

var url = 'http://api.twitter.com/1/friends/ids.json?&screen_name=' + 
    escapeURIComponent(user) + 
    '&callback=?'; 

而且我不知道爲什麼你已經有了一個「&」的「SCREEN_NAME」參數之前。

+0

我一直在關注下面的例子,它使用?回調來調用jquery JSONP行爲:http://tympanus.net/codrops/2011/04/13/interactive-google-map/ – Durathor 2011-12-26 17:02:09

+0

關於url編碼,在這裏爲了簡單而錯過了 – Durathor 2011-12-26 17:02:27

+0

交換到&回調,它工作壽,謝謝。閱讀這個例子時一定忽略了一些東西.... – Durathor 2011-12-26 17:03:51