AJAX経由で完全に動作するヘッダにログイン/ログアウト機能を持つページがあるとします。AJAXログインフォーム、ログイン後のページコンテンツを更新する
ユーザーがログインしていない場合は、「Hey、login」を表示して、彼にajax経由でログインさせたいと考えています。それはすべて良いです、それは動作します。
しかし、ユーザがログインする場合、私は、ページ上に置く取得していない何もアクセスすることはできません - 。彼らは正常にログインしている場合、ユーザーがページにアクセスしたときにそこにあるコンテンツを
ページソースを表示すると要素がありますが、$("#container").show()
、.slideDown()
、.html()
などのようなものを実行すると、何も実行していません。
ユーザーにページを更新させるか、すべてのコードをjavascriptに保存して展開する必要がありますか?私は望んでいない。
以下のログイン用に私のJavascriptを含めましたが、それは本当にポイントではありません。それは働いている。私が言うところでは$("#all").slideDown()
が問題です。コンソールからアクセスしても、何もしません。
ユーザーがログインしていない場合、問題はおそらくPHPで死ぬに関連している。このコードは$(function() { }
コードで実行されます。すべての
/* Get the AJAX Login form Ready */
$("#login-form").submit(function() {
$("#login-error").hide();
var username = $("#username").val();
var password = $("#password").val();
if (username == "" || password == "") {
$("#login-error").show();
$("#login-error-heading").html("You've entered something wrong.");
$("#login-error-content").html("Please enter both a username and a password.");
return false;
}
$.get(
"process-login.php",
{
username:username,
password : password
}, function(data) {
if (data.success == 1) {
/* Hide the login form */
$("#login").modal("hide");
/* remove the login button */
$('#nav-login').remove();
/* add the logout button to the DOM */
$("#nav-container").append('<ul id="user-options" class="nav pull-right"><li class="divider-vertical"></li><li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Logged in as ' + data.username + '<b class="caret"></b></a><ul class="dropdown-menu"><li><a href="javascript:logout();">Logout</a></li></ul></li></ul>');
$("#all").slideDown();
} else {
$("#login-error").show();
$("#login-error-heading").html("You've entered something wrong.");
if (data.success == 3) {
$("#login-error-content").html("This account is locked out because of incorrect password usage. Please try again in 10 minutes.");
} else {
$("#login-error-content").html("The username and password combination was not found.");
}
}
},
"json"
);
return false;
});
コードを表示できますか? – BenOfTheNorth
ページがロードされると、javascript/jqueryをインクルードする必要があります。 ajax呼び出しを実行すると、サイトにログインしますが、ログインしたときにしか利用できないコードを使用しようとすると、リフレッシュが必要になることがあります。 –
'.modal( 'hide')'はダイアログパネルを隠す正しい方法ですか?ダイアログにjqueryuiや別のプラグインを使用していますか? – Anthony