ajax不能重定向
ajax请求是不支持重定向的,因为它是局部刷新,不重新加载页面。
过滤器
package com.wjz.demo; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.servletexception; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class XMLHttpRequestTest implements Filter { @Override public void init(FilterConfig filterConfig) throws servletexception { } @Override public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws IOException,servletexception { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse resp = (HttpServletResponse) response; resp.setHeader("Access-Control-Allow-Origin","*"); resp.setHeader("Access-Control-Allow-Credentials","true"); redirect(req,resp); } private void redirect(HttpServletRequest req,HttpServletResponse resp) throws IOException { if("XMLHttpRequest".equals(req.getHeader("X-Requested-With"))){ //前端需要判断是否是重定向 resp.setHeader("REDIRECT","true"); //需要重定向的路径 resp.setHeader("CONTENTPATH","http:127.0.0.1:8080/login.do"); resp.setStatus(HttpServletResponse.SC_FORBIDDEN); }else{ resp.sendRedirect("http:127.0.0.1:8080/login.do"); } } @Override public void destroy() { } }
前端JS
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。