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.callclback(json)就够了。

于 2012-04-05T08:53:56.043 回答