這裏可以採用redirect以get形式向指定頁面發出get請求,指定頁面完成後會再次跳轉到redirect後邊指定的頁面
(注意:這裏的redirect只是一個自定義參數,並不是自帶的,名稱可以隨便起,不一定要是redirect)
格式:需要請求的URL?redirect=請求URL完成後需要跳轉的地址
例如:
response.sendRedirect("http://localhost:8080/test?redirect=http://localhost:8080/test2;
當然,這種用途常見於跳轉到登陸頁面登陸後再次返回原來的頁面:
response.sendRedirect("http://localhost:8080/page/login?redirect=" + request.getRequestURL());
接下來,當請求登陸時,取出這個參數,這裏以SpringMVC爲例:
@RequestMapping("/page/login")
public String showLogin(String redirect, Model model) {
//把請求登陸後跳轉的頁面路徑再次轉發到登陸頁面進行js處理
model.addAttribute("redirect", redirect);
return "login";
}
詳情解釋在代碼註釋中
//登陸頁面獲取要重定向的地址
var redirectUrl = "${redirect}";
//根據自己情況當頁面登陸成功時對重定向的地址進行跳轉,登錄失敗就不進行跳轉,下邊代碼表示如果沒有追加redirect參數或爲空就跳轉到指定頁面
//location.href = "http://localhost:8082
doLogin:function() {
$.post("/user/login", $("#formlogin").serialize(),function(data){
if (data.status == 200) {
jAlert('登錄成功!',"提示", function(){
if (redirectUrl == "") {
location.href = "http://localhost:8082";
} else {
location.href = redirectUrl;
}
});
} else {
jAlert("登錄失敗,原因是:" + data.msg,"失敗");
}
});
}
好了,這就做到了登陸後跳轉到自己想要的頁面,當然,這只是衆多方法之一