Java跨域-Redirect的跨域问题解决
- 工作小总结
- 时间:2020-11-17 10:44
- 5905人已阅读
简介
Java跨域问题之Redirect解决当出现跨域,然后错误信息:Redirectisnotallowedforapreflightrequest这是因为,使用了redirect的跨域。解决方案在弄清楚问题后,我们了解只要给Preflightrequest优先通过就可以引导后续请求继续下发。对此,我们改造CORSFilter来解决这个问题。首先对OPTION请求放入HTTP200的响应内容。对于Pr
🔔🔔🔔好消息!好消息!🔔🔔🔔
有需要的朋友👉:联系凯哥
Java跨域问题之Redirect解决
当出现跨域,然后错误信息:Redirect is not allowed for a preflight request
这是因为,使用了redirect的跨域。
解决方案
在弄清楚问题后,我们了解只要给Preflight request优先通过就可以引导后续请求继续下发。对此,我们改造CORS Filter来解决这个问题。
首先对OPTION请求放入HTTP 200的响应内容。
对于Preflight request询问中的的Access-Control-Request-Headers予以通过
response.setContentType("text/html;charset=UTF-8"); response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "0"); response.setHeader("Access-Control-Allow-Headers", "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,userId,Authorization,SessionToken,JSESSIONID,token"); response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("XDomainRequestAllowed","1"); if ("OPTIONS".equals(request.getMethod())) { response.setStatus(HttpServletResponse.SC_OK); } else { filterChain.doFilter(request, response); }