对于【复杂的】跨域ajax请求,请求方思路是这样的:先发送一个 OPTIONS 请求,确认是可以请求的,之后才发送我们真正的 get 或者 post 等我们在 ajax 中定义的请求;第一次 OPTIONS 请求,headers 是不会带过来的,所以过滤器中是要跳过这种请求的。处理方式如下
//放行 options 的请求
if ("OPTIONS".equals(request.getMethod())) {
filterChain.doFilter(request, servletResponse);
}