我有2個函數:1檢查用戶是否登錄,如果他這麼做 - 它會調用第二個函數來獲取他的用戶ID。現在我只是用警報測試它,看看我是否得到參數。使用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
,而第二個提醒確實有userID。我爲什麼不能將它的價值返回到第一個函數?爲什麼我會得到`undefined?
謝謝!'
我試圖用回調,但猜測沒有錯。我試了一下這樣的:'函數getUserID(回調){ \t $ .getJSON( 「INC/API.php」, \t { \t \t命令: 「getUserID」 \t}, \t功能(結果){ \t \t alert(result); \t \t callback(result); \t}); }'但仍然是'未定義'。我究竟做錯了什麼?謝謝! – Igal 2012-04-09 14:21:47