У меня есть 2 функции: 1 проверяет, что пользователь вошел в систему, а если он это делает - он вызывает вторую функцию для получения своего идентификатора пользователя. На данный момент я просто тестирую его с предупреждением, чтобы узнать, действительно ли я получаю параметр.Получение значения из функции с помощью Javascript
Это первая функция:
//Checking if the user is logged in or not
$(function(){
$.getJSON("inc/API.php", {command : "getUserName"},
function(result){
if(result==null){
$("#divGreeting").html("Hello, guest!");
$("#divLogin").hide();
$("#divUserOption").hide();
$("#divConnectOption").show();
}
else {
alert(getUserID(result));
$("#divGreeting").html("Hello, "+result+"!");
$("#divHeader").html("Hello, "+result+"! <a href='javascript:logout()'>Logout</a>");
$("#divUserOption").html("Hello, "+result+"! <a href='javascript:logout()'>Logout</a>");
$("#divConnectOption").hide();
$("#divLogin").hide();
$("#divUserOption").fadeIn(300);
}
});
});
И это вторая функция, тот, который должен вернуть идентификатор_пользователя:
function getUserID(){
$.getJSON("inc/API.php",
{
command : "getUserID"
},
function(result){
alert(result);
return result;
});
}
alert
первой функции undefined
, в то время как предупреждение второго имеет идентификатор пользователя. Почему я не могу вернуть его значение первой функции? Почему я получаю `undefined?
Спасибо! `
Я попытался использовать обратный вызов, но думаю, что это неправильно. Я пробовал так: 'функция getUserID (обратный вызов) { \t $ .getJSON ("вкл/API.php", \t { \t \t Команда: "getUserID" \t}, \t функция (результат) { \t \t предупреждение (результат); \t \t callback (результат); \t}); } 'но все же' undefined'. Что я делаю не так? Спасибо! – Igal