1

我想将我的帖子分享到 Facebook,所以我已经编写了代码。但是当我点击我的按钮时,FB.getLoginStatus 第一次响应“未知”到 response.status 但如果我再次点击响应“已连接”。这是我的代码:

$("#fb_share").on("click",function(){
  var poi_id    = $("#fb_share").attr('data-id');
  FB.getLoginStatus(function(statusResp) {
    console.log(statusResp);
    if (statusResp.status === 'connected') {
        FB.api('/me?fields=email', function(response) {
            if(response.email){
                sendEventInvite(statusResp,response,poi_id);
            }else{
                FBLoginFirst(poi_id,statusResp,"detail");
            }
        });

    }else{
console.log("fb_permission_scope---"+fb_permission_scope);
        FBLoginFirst();
    }
});
});

这就是我在 console.log 中得到的

Object { status="unknown",  authResponse=null}

这是我在第二次点击时得到的

Object { status="connected",  authResponse={...}}`
4

1 回答 1

0

您的 if 语句中有一个额外的等号 (=)。将某物与布尔值进行比较时,三个等号 (===) 是正确的运算符。

试试这个:

$("#fb_share").on("click",function(){
  var poi_id    = $("#fb_share").attr('data-id');
  FB.getLoginStatus(function(statusResp) {
    console.log(statusResp);
    if (statusResp.status == 'connected') {
        FB.api('/me?fields=email', function(response) {
            if(response.email){
                sendEventInvite(statusResp,response,poi_id);
            }else{
                FBLoginFirst(poi_id,statusResp,"detail");
            }
        });

    }else{
console.log("fb_permission_scope---"+fb_permission_scope);
        FBLoginFirst();
    }
});
});
于 2016-03-04T15:08:37.903 回答