ajax请求遇到response.sendRedirect() 302无法重定向? ? ?
1.问题如下: 前端发起ajax请求 -> 后端拦截器进行校验(preHandle) -> 发现用户失效 -> 重定向到登录页( response.sendRedirect() ) 通过F12, 我们可以看到方法已经执行, 但是页面没有跳转过去? ? ? 2.问题分析: ajax的机制, 就是通过 XMLHttpRequest对象 向服务器发送请求,从服务器获取数据! 除此之外它不能做以外的其它动作了。 ajax功能就是这么设定的, ajax也是这么做的, 它的作用也仅仅局限于此, 所以浏览器端是不会发起重定向的, 不会重新加载页面的。 3.解决办法: 只能通过服务器端告诉 ajax, 请求失效了, 让它 location.href = “” , 跳转到登录页面. 1.过滤器里再加个ajax请求判断, /** * ajax请求重定向问题的处理方法 */ public void ajaxRedirect ( HttpServletRequest request , HttpServletResponse response ) throws IOException { if ( "XMLHttpRequest" . equals ( request . getHeader ( "X-Requested-With" ) ) ) { response . setHeader (