我想将我的帖子分享到Facebook,所以我已经编写了代码。但是当我点击我的按钮时,FB.getLoginStatus第一次响应“unknown”到response.status但是如果再次点击则响应“connected”。 这是我的代码:
$("#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={...}}`
答案 0 :(得分: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();
}
});
});