Я создаю приложение PhoneGap, использующее логин FB. Я могу успешно войти в Facebook через приложение. Проблема, однако, в том, что я не могу хранить данные в переменных javascript сразу после входа пользователя в систему.Переменные FB.api не доступны сразу после входа в систему
Однако, если я выйду из системы и войду в систему, я смогу получить доступ к данным.
Логин:
FB.login(
function(response) {
if (response.authResponse) {
var FBuserID = response.authResponse.userID;
alert(FBuserID);
$.ajax({
url: '/user/' + FBuserID,
success: function(response) {
// calls FB.api functions
userInfo();
alert(userName);
alert(profilePic);
},
error: function() {
alert('error');
}
});
} else {
alert('No Success');
}
},
{ scope: "email" }
);
USERINFO()
FB.api(
'/me', function (response) {
var userName = response.name;
});
FB.api(
'/me/picture',
{
"redirect": false,
"type": "square"
},
function (response) {
var profilePic = response.data.url;
});
Если добавить alert(userName);
и alert(profilePic);
внутри FB.api звонки, я могу увидеть данные, но они недоступны в функции $ .ajax. Является ли это простой проблемой, которую я пропускаю?
Примечание: Я также попытался использовать вызов $ .ajax в пределах функции FB.Event.subscribe('auth.login', function(response)
без каких-либо успехов.