完成FB.getLoginStatus我想返回一系列信息
这是我第一次使用FB Dev JS并且挣扎了一下。完成FB.getLoginStatus我想返回一系列信息
当前,当我尝试返回一组数据时,我一直在使用警报来测试。
当我提醒阵列中的某个项目时,警报会在FB.getLoginStatus函数结束时出现在警报之前。
我不能锻炼如何添加一个回调函数。
如何从FB.getLoginStatus返回数据?
目前我的设置是这样的:
window.fbAsyncInit = function() { FB.init({
appId : '514297358660223',
oauth : true,
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
// AFTER FB INIT
// Get the status of the user
var arrStatus = facebookLoginStatus();
// IF the user is authorized, check to see whether they have voted.
//alert(arrStatus[0]);
if(arrStatus[0] != "error")
{
console.log("Check to see if they have voted");
checkRegisteredVote(arrStatus[0]);
}
//
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
// END ::: Load the SDK Asynchronously
function facebookLoginStatus()
{
var userarr = new Array();
var strStatus = "";
var intUID = 0;
FB.getLoginStatus(function(response)
{
alert(response.status);
if (response.status === 'connected')
{
strStatus = "connected";
intUID = response.authResponse.userID;
accessToken = response.authResponse.accessToken;
userarr[0] = userID;
userarr[1] = accessToken;
}
else
{
strStatus = "not connected";
userarr[0] = "error";
userarr[1] = "not connected";
}
}, true);
alert(userarr[0]);
return userarr;
}
任何帮助将真正理解。
回答:
你应该上述移动
alert(userarr[0]);
3线 - INSIDE响应函数:
function(response) {
if (response.status === 'connected')
{
}
else
{
}
alert(userarr[0]);
}
也,这意味着
return userarr;
是错误的 - 它会返回一些东西,尚未初始化。相反,在提醒后(userarr [0]);,你应该调用你的其他函数,通过userarr作为参数。
以上是 完成FB.getLoginStatus我想返回一系列信息 的全部内容, 来源链接: utcz.com/qa/263997.html