我在我的演示站点中使用 fb 登录连接:我使用了以下代码:
window.fbAsyncInit = function() {
try{
FB.init({
apiKey: '<MY APP KEY>',
channelUrl : 'www.google.com'
});
FB.getLoginStatus(function(response){
loginHandler();
});
}catch(error){}
};
function loginHandler(success,fail)
{
try{
if(success){
alert('i am if');
FB.api('/me', function(response,fail) {
alert("first name == " + response.first_name + "\n ln === " + response.last_name);
});
}
}catch(error){}
}
$('#login').bind('click', function(response) {
try{
FB.login(loginHandler, {scope: 'email,user_likes'});
}catch(error){}
});
$('#logout').bind('click', function() {
try{
FB.logout(function(response){});
}catch(error){}
});
现在我的问题是alert('i am if'); 每次都显示我是否将正确的凭据传递给facebook和alert("first name == " + response.first_name + "\n ln === " + response.last_name); 当用户传递错误凭据时显示未定义,当用户返回传递正确信息时显示正确信息。
一种可能的选择是检查,if(response.first_name!=undefined){blah blah....}
但它是检查身份验证的正确方法吗?
请阐明一些光......