Access-Control-Allow-Origin: *, * 前后端出现跨域问题,多*
当时情况是,同一个项目,前后端分离开发,出现跨域问题,最后跟进下来,是后台反回
Access-Control-Allow-Origin: *, * 多*
Access-Control-Allow-Origin: *, * 前后端出现跨域问题
出现一颗 * 就通过后台过滤设置响应
/CORSFilter
public class CORSFilter implements Filter{ //里设置
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
HttpServletResponse httpResponse = (HttpServletResponse) servletResponse;
httpResponse.setHeader("Access-Control-Allow-Methods", originHeader);
httpResponse.setHeader("Access-Control-Allow-Origin", "*");
httpResponse.setHeader("Access-Control-Allow-Headers", "Content-Type,XFILENAME,XFILECATEGORY,XFILESIZE");
httpResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
httpResponse.setHeader("Access-Control-Max-Age", "3600");
httpResponse.setHeader("Access-Control-Allow-Headers", "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
filterChain.doFilter(servletRequest, servletResponse);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
}
web.xml
<!-- 解决跨域请求 -->
<filter>
<filter-name>tt</filter-name>
<filter-class>com.hbcw.finance.sys.utils.CORSFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>tt</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
当出现一颗 * ,* 或者多颗时,肯定是后台设置多了
httpResponse.setHeader("Access-Control-Allow-Origin", "*");
本人就是遇到多请求一次,在后面有,使用到addHeader("Access-Control-Allow-Origin", "*"); 造成。 网上也有说nginx也设置有,故需要多方去查找后台
更多推荐
Access-Control-Allow-Origin: *, * 前后端出现跨域问题,多*
发布评论