前后端分离之后,原生的jquery的ajax不能实现控制页面跳转,一般会出现状态码302错误,但是可以通过重写ajax增强方法,搭配后台返回状态码错误实现页面跳转.后台的filter核心代码为
HttpServletResponse httpResponse = (HttpServletResponse) response;
if(url.equals(contextPath + "/data")) {
httpResponse.sendError(HttpServletResponse.SC_UNAUTHORIZED);
//httpResponse.sendRedirect(contextPath + "/index.jsp");
}
前台的ajax重写核心代码:
error : function(XMLHttpRequest, textStatus, errorThrown) {
// 错误方法增强处理
if(XMLHttpRequest.status ==401) {
window.location.href = "login.html";
}
callback.error(XMLHttpRequest, textStatus, errorThrown);
},
如果有实现起来有困难,下面给出链接一个小的demo