前台ajax重写方法搭配后台filter返回status实现ajax请求跳转登录页面

前后端分离之后,原生的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

链接看这里

你可能感兴趣的:(java小学生)