這裡可以採用redirect以get形式向指定頁面發出get請求,指定頁面完成後會再次跳轉到redirect後邊指定的頁面 格式:需要請求的URL?redirect=請求URL完成後需要跳轉的地址 例如: response.sendRedirect("http://localhost:8080/te ...
這裡可以採用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,"失敗"); } }); }
好了,這就做到了登陸後跳轉到自己想要的頁面,當然,這隻是眾多方法之一