2010-11-08 42 views
1

我嘗試使用下面的代碼來獲得從Facebook JSON數據:Facebook的jQuery的AJAX調用JSON - 未捕獲的SyntaxError:意外的標記:

var getFriends = function() { 
    var friendsURL = 'https://graph.facebook.com/<?= $cookie['uid'] ?>/friends?access_token=<?= $cookie['access_token'] ?>&jsoncallback=?'; 

    $.getJSON(friendsURL, function(data) { 

     var names = ""; 

     $.each(data.name, function(){ 
      names += " " + this; 
     }); 

     alert("JSON Data: " + names); 
    }); 

} 

每次我運行在Chrome得到這個錯誤的函數: 「未捕獲的SyntaxError:意外的標記:」

任何想法?我確保把「jsoncallback =?」在url的結尾處使其返回爲JSONP,但現在我已經用完了解決方案。

感謝, -Ben

回答

3

graph.facebook.com expects callback in the querystring, not jsoncallback,所以您的網址應該是這樣的觸發JSONP站在他們那一邊(目前你剛剛JSON):

var friendsURL = 'https://graph.facebook.com/<?= $cookie['uid'] ?>/friends?access_token=<?= $cookie['access_token'] ?>&callback=?'; 
+0

感謝尼克,這正是我以後的! – bbeckford 2010-11-08 13:01:52

+0

@bbeckford - 歡迎! – 2010-11-08 13:02:19

1

爲什麼不使用官方JavaScript SDK改爲?該電話將是:

FB.api('/userid/friends', function(response) { 
    // response is an array of friends 
}); 

官方圖書館將爲您處理詳情,因此您不必擔心所有實施細節。

+0

當你已經使用jQuery時,包括他們的單個AJAX請求獲取一些數據的整個SDK看起來像*巨大*過度殺傷......特別是因爲刪除4個字符是所有這一切需要的。 – 2010-11-08 12:44:43

+0

我試圖讓它保持jQuery,但無論如何感謝彌敦道,這是一個有效的答案 – bbeckford 2010-11-08 13:03:43

相關問題