動的ログイン ヘッダーがあります。2 つのリンク、ログイン/登録およびプロファイル/ログアウト。
ログインして関連リンクを表示しているかどうかを確認するために使用されていたphpクラス関数があり、正常に機能しました。
次に、ページを更新したくなかったので ajax ログインに移動し、ログイン ボックスがドロップダウンしてロールアップしました。繰り返しますが、正常に動作します。
私はわずかな問題に気付きました.
ログインすると、新しいページでページを更新するたびに、「プロファイル」が「ログイン」になるちらつきが表示され、再びちらつきます。ページの読み込み中にのみ発生し、長くは続きませんが、あまり良くありません.
誰かが私にそれを解決するのを手伝ってもらえますか? 私は Ajax/jQuery の初心者で、最初に ajax/jquery の部分を機能させるために、ここにいる何人かの人の助けを借りて何年も費やしました。
これは、ログイン div を切り替えるスクリプトです
<script>
window.onload = function(){
$(function() {
var loggedIn = <?php echo json_encode($general->loggedIn()); ?>;
$("#loggedIn").toggle(loggedIn);
$("#loggedOut").toggle(!loggedIn);
});
}
</script>
ありがとう
編集:アヤックス
function validLogin(){
$('#error').hide();
var username = $('#username').val();
var password = $('#password').val();
if(username == ""){
$('input#username').focus();
return false;
}
if(password == ""){
$('input#password').focus();
return false;
}
var params = {username: username, password: password};
var url = "../loginProcessAjax.php";
$("#statusLogin").show();
$.ajax({
type: 'POST',
url: url,
data: params,
dataType: 'json',
beforeSend: function() {
document.getElementById("statusLogin").innerHTML= '<img src="../images/loginLoading.gif" /> checking...' ;
},
success: function(data) {
$("#statusLogin").hide();
if(data.success == true){
$('#loggedIn').show();
$('#loginContent').slideToggle();
$('#loggedOut').hide();
}else{
// alert("data.message... " + data.message);//undefined
$("#error").show().html(data.message);
}
},
error: function( error ) {
console.log(error);
}
});
}