我在 document.ready 上加载了这段代码,它检查用户是否登录:
//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!");
}
else {
$("#divGreeting").html("Hello, "+result+"!");
$("#divHeader").html("Hello, "+result+"! <a href='javascript:logout()'>Logout</a>");
}
});
});
如果他不是 - 它会说“你好,客人”;如果他是 - 它说“你好,用户名”,其中用户名是result
这个函数中的。我需要的是在这部分中设置用户名:$("#divGreeting").html("Hello, "+result+"!");
成为一个链接,它指向另一个带有用户 ID 的页面,而我没有。像这样:$("#divGreeting").html("Hello, <a href='userpage.html?userid="+HAVE TO GET THE ID HERE+"'>"+result+"</a>!");
我尝试使用此功能(它确实得到:
function getUserID(){
$.getJSON("inc/API.php",
{
command : "getUserID"
},
function(result){
return result;
});
}
并这样称呼它:$("#divGreeting").html("Hello, <a href='userpage.html?userid="+getUserID()+"'>"+result+"</a>!");
,但这不起作用,我没有得到任何结果,除了undefined
(我知道它与异步AJAX有关)。
这是 API.php 的内容:
case "getUserID":
echo getUserID();
break;
它调用getUserID()
文件 BusinessLogic.php 中的函数,该文件具有以下功能:
function getUserID()
{
$arr = select("SELECT userID FROM users WHERE username='".$_SESSION["username"]."'");
return $arr[0]["userID"];
}
有人告诉我我必须使用回调,但我不知道该怎么做,如何编写这个回调。我在这里迷路了...
请帮忙?