我想在這裏做一個圓滑的登錄功能=)登錄並保持在同一頁面上?
我想「登錄體驗」是平滑和無縫的,所以我不希望用戶「感覺」他/她正在「重定向」並重新回到同一頁面。
所以過程進行:
- 用戶X訪問網頁A
- X是不是在登錄BTN
- X印刷機(即在一個div與表單一起住在一)登錄
- 登錄框和按鈕消失
- X登錄成功,而且還是第A(無需考慮「重定向」)
謝謝你的答案!
我想在這裏做一個圓滑的登錄功能=)登錄並保持在同一頁面上?
我想「登錄體驗」是平滑和無縫的,所以我不希望用戶「感覺」他/她正在「重定向」並重新回到同一頁面。
所以過程進行:
謝謝你的答案!
您可以使用jQuery.load重新請求同一頁面(因爲創建會話是應加載正確的內容)。它支持加載部分請求的文檔。
例子:
function onSuccessfulLogin() {
$("#content").load(window.location.href + " #content");
}
編輯:哎呀,對不起,我想我誤解了。我認爲頁面A的內容只對經過驗證的用戶可見,而且您正在顯示登錄表單並希望在驗證後顯示正確的內容。
如果你只是想異步。登錄,您可以將提交處理程序添加到登錄表單,該表單將表單提交給某種登錄處理程序腳本,以返回登錄嘗試是否成功。
$("#loginform").bind("submit", function() {
$.ajax({
url: "login.php",
method: "post",
cache: false,
dataType: "json", // for example
data: $(this).serialize(),
success: function (data) { // data is the JS object based on the JSON returned
if (data.success) {
$(this).fadeOut();
} else {
alert("bad login: "+data.error);
}
}
});
return false;
});
我使用Ajax登錄系統解決了這個問題,該系統在成功登錄後重新加載頁面。如果您不想重新加載當前頁面,則需要基於JavaScript的系統來顯示和隱藏登錄狀態。 (雖然我認爲這可能複雜化的進一步發展),你可以做到這一點
的一種方法,是使用一些AJAX和含有所需的登錄字段和提交按鈕一個模式對話框。您可以使用Dojo對話框dijit進行靈活的實施。
你肯定會想使用AJAX來進行信息的部分加載做到這一點(jQuery的是我的選擇)。你能給我們一些關於你正在使用的頁面結構的想法嗎(是純HTML嗎?php?asp.net?等等)?並且請注意任何基於身份驗證而改變的信息(登錄按鈕除外),以便我們可以提供幫助。 – Delebrin 2010-09-09 21:19:39
這是一個使用GWT在GAE上運行的JAVA應用程序。 – 2010-09-10 08:58:43
那麼你的問題是什麼? – 2012-04-02 11:52:04