相同的頁面我已經搜索了很多關於我的問題,我找不到任何相關的教程。而且,我甚至不確定是否可以使用客戶端技術。是否有可能重定向用戶登錄後使用客戶端技術
問題陳述:例如,我的網絡應用程序中有很多頁面,並且用戶從索引頁切換到頁面1,然後切換到頁面2.現在用戶決定登錄到我的網站。我想在登錄成功後將用戶重定向到第2頁。
當前結果:登錄成功後,用戶似乎總是被重定向到索引頁面。
期望的結果:一旦登錄成功,用戶應留2頁
上可以使用客戶端技術?在PHP中,我們可以使用會話和所有。但我僅限於使用客戶端技術來實現這一目標。
這裏是我的登錄功能
function loginPost(data) {
return $.ajax({
url: "/some-api/login",
type: "POST",
dataType: "json",
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
async: true,
data:data
});
}
P.S
function login(params) {
if(checkEmpty("loginEmail") && checkEmpty("password")) {
var emailField = $("#loginEmail").val(),
passwordField = $("#password").val(),
data = "login=" + emailField + "&password=" + passwordField;
for (var key in params) {
data += "&" + key + "=" + params[key];
}
// Hide errors as default
$("#loginErrorWrapper").hide();
// Try to launch the "normal" submit operation to make browser save email-field's value to cache
$('#loginSubmitHidden').click();
// Send data to server and refresh the page if everything is ok
$.when(loginPost(data)).done(function(map) {
if(!hasErrors(map)) {
var lang = map.language;
if (lang != "") {
changeLanguage(lang)
}
else {
lang = 'en';
}
redirect("/" + lang + "/");
} else {
if (map.errorCode == "155") {
$.fancybox({
href : '#termsAcceptancePopup',
title : '',
beforeLoad : function() {
$('#acceptTermsButton').attr('onclick','javascript:login({policyChecked:true});$.fancybox.close();');
},
helpers : {
overlay : { closeClick: false }
}
});
} else {
var errorString = getErrorMessage(map);
$("#loginErrorWrapper").show();
$("#loginErrorWrapper").html(errorString);
}
}
});
}
}
Ajax請求 - >我不使用PHP的。我正在研究基於Java的Web應用程序。
保存最後瀏覽的網址和登錄後重定向到該頁面。 https://developer.mozilla.org/en-US/docs/Web/API/Window.onbeforeunload – Ejaz
這確實是應該坐在服務器上的東西;你可以在90%的時間內利用引用標題。 (只讀部分關於沒有PHP;您也可以使用[pushState](https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history)跟蹤用戶的位置已經/正在進行) –
使用'location.reload()'而不是'redirect(「/」+ lang +「/」)'來刷新當前頁面。 – pawel