https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS
以下是跨域解决方案
服务端添加一个拦截器即可
@Component
public class RequestFilter implements Filter {
Logger logger = LoggerFactory.getLogger(RequestFilter.class);
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)servletRequest;
HttpServletResponse response = (HttpServletResponse)servletResponse;
logger.info("解决跨域的Filter---------------------------------------》");
String origin = request.getHeader("Origin");
response.setHeader("Access-Control-Allow-Origin","*");
response.setHeader("Access-Control-Allow-Method","GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH");
response.setHeader("Access-Control-Allow-Headers","X-Requested-With, Accept, Content-Type");
// 是否允许浏览器携带用户身份信息(cookie)
response.setHeader("Access-Control-Allow-Credentials","true");
String method = request.getMethod();
if ("OPTIONS".equals(method)){
response.setStatus(HttpServletResponse.SC_OK);
filterChain.doFilter(servletRequest,servletResponse);
}else {
filterChain.doFilter(servletRequest,servletResponse);
}
}