我正在使用PHP函数来确定显示的链接:
<?php
//amend toplinks if logged in
if($general->loggedIn()){ ?>
<nav class = "memberHeaderArea">
<ul>
<li>
<a href="userProfile.php?username=<?php echo $user['username'];?>">Profile<span class="user icon"></span></a>
</li>
<li>
<a href="userLogout.php">Log out<span class="lock icon"> </span></a>
</li>
</ul>
</nav>
<?php
//toplinks for when not logged in
}else{ ?>
我刚刚更改了登录的结构以使用Ajax,除了导航外,它完美地运行。它仍会显示登录/注册,直到调用页面刷新。显然使用Ajax的原因是为了避免页面刷新,但是有没有办法在成功函数中更新这些链接?
success: function(data) {
$("#statusLogin").hide();
if(data.success == true){
$('#loginContent').slideToggle();
}else{
// alert("data.message... " + data.message);//undefined
$("#error").show().html(data.message);
}
从我发现的情况来看,我可能需要分配nav的id,然后使用Ajax / jQuery来定位它。但我不确定如何。非常感谢任何帮助。
答案 0 :(得分:0)
这是一个基本(和虚拟)的东西,用于在页面加载后使用AJAX检查登录状态。可能你想要更严肃的检查然后if(true)
和echo
来电,但它会是这样的:)检查下面的小提琴,所以你也可以看到html和css ......
$.getJSON('/echo/json/').done(function (data) {
console.log("Call returned");
if (true){
//successful login
$('#loggedin').slideToggle();
}else {
//unsuccessful login
$('#login').slideToggle();
}
}).fail(function (data) {
console.log("Call failed");
$('#login,#error').slideToggle();
}).always(function (data) {
console.log("Always running");
});