ajax+springmvc跳轉至另外的頁面展示資料
阿新 • • 發佈:2019-02-19
<script type="text/javascript"> function validateLogin(){ var sUserName = $("#username").val(); var sPassword = $("#password").val(); if (sUserName =="" ){ alert("請輸入使用者名稱!"); return false ; } if (sPassword ==""){ alert("請輸入密碼!"); return false ; } $.ajax({ type: "post", url: "http://localhost:8080/prac/user/validate.do", data: { username: sUserName, password: sPassword }, dataType: 'json', success: function (data) { if (data.status) { window.location.href = "http://localhost:8080/prac/user/success.do"; } else { alert(data.msg); } }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest); alert(textStatus); alert(errorThrown); } }) }
ajax完成後會跳轉到success.do這個方法中
驗證登入的方法,返回一個自定義的ResultBean。把查到的user放入到session作用域中去。
@RequestMapping(value="/validate.do", method= RequestMethod.POST) @ResponseBody public ResultBean validateLogin(String username, String password, ModelMap model, HttpServletResponse response, HttpSession session) { ResultBean resultBean = new ResultBean(); try { User user = userService.login(username); if (null != user) { if (EncoderByMd5(password).equals(user.getPassword()) || password.equals(user.getPassword())) { resultBean.setStatus(true); resultBean.setMsg("登入成功"); resultBean.setData(user); session.setAttribute("user", user); } else { resultBean.setMsg("賬號或密碼錯誤"); } } else { resultBean.setMsg("使用者不存在,請聯絡管理員"); } } catch (Exception e){ e.printStackTrace(); resultBean.setMsg("登入失敗"); } return resultBean; }
最後跳轉到success.do這個方法裡面。
@RequestMapping("/success.do")
public String success(HttpSession session, ModelMap model){
return "success";
}
執行之後會跳轉到success.jsp這個頁面。
在success.jsp頁面通過EL表示式${user.username}和${user.password}能得到使用者的使用者名稱和密碼。