0
我需要調用FB.logout()
並立即註銷應用程序。要從應用程序註銷,需點擊DELETE /signout
,點擊#sign_out_btn
後發生。我在事件發生前將onclick事件綁定到了按鈕FB.logout()
。在onclick事件中等待FB.logout()事件
我第一次嘗試:
$('#sign_out_btn').click(function(e) {
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
FB.logout(function(response){
return true;
});
} else {
return true;
});
});
沒有工作,因爲FB.logout()
異步調用和應用程序繼續執行DELETE /signout
呼叫和重定向,所以FB.logout()
調用從未。
我想出了這是我從使得原來調用服務器上的按鈕,點擊防止和使用ajax
使DELETE
請求logout
回調之後手動重定向頁面一種解決方法:
$('#sign_out_btn').click(function(e) {
e.preventDefault();
FB.getLoginStatus(function(response) {
if (response.status == 'connected') {
FB.logout(function(response) {
$.ajax({
url: '/signout',
type: 'DELETE',
success: function(result) {
return window.location = '/';
}
});
});
}
});
return false;
});
它的工作原理,但它似乎並不是一個聰明的解決方案。任何更好的想法?