1

これは私の頭の中でうまくいくように見えますが、なぜうまくいかないのか理解できません:

(function ($) {

$.fn.extend({

    facebook: function (opts, callbackFnk) {

        var $this = this;
        ...
        ...
        ...

        $this.fbGetFriends = function( clback ){
            jsonUrl = fbMe + '/friends?access_token=' + token + '&callback=?';
            $.getJSON( jsonUrl, function( json ){
                console.log(json.data[0].name);
                clback.call(json);
            }); 
        }
        ...
        ...
        ...

コンソールログに名が表示されます

私の他のスクリプトでは:

var facebook = $.fn.facebook(
    { 
        myClientId  : '###############', 
        mySecret    : '##############' 
    }
);

facebook.fbOnLogin = function(){
    user = facebook.userDetails();
    token = facebook.getToken();
    facebook.fbGetFriends(function( json ){
        for ( var i in json ) {
            console.log( 'friends: ' + i + ' ' + json[i] );
        }
    });
}

コンソールログでは何も表示されず、以前のテストではエラーデータが未定義で表示されます。

誰かがどこが間違っているのか教えてもらえますか?

よろしく

4

1 に答える 1

3

あなたは必要ありませんclback.call、ただclback(json)十分です。

于 2012-04-05T08:53:56.043 に答える