Spring MVC支持HTTP/HTTPS跨域问题总结access-control-allow-origin

拦截器

        response.addHeader("Access-Control-Allow-Origin","*");
        response.addHeader("Access-Control-Allow-Methods","*");
        response.addHeader("Access-Control-Max-Age","3600");
        response.addHeader("Access-Control-Allow-Headers", "X-Custom-Header,accept,content-type");
        //允许客户端发送cookies true表示接收,false不接受 默认为false?
        response.addHeader("Access-Control-Allow-Credentials","true");

过滤器

  response.addHeader("Access-Control-Allow-Origin","*");
	        response.addHeader("Access-Control-Allow-Methods","*");
	        response.addHeader("Access-Control-Max-Age","3600");
	        response.addHeader("Access-Control-Allow-Headers", "x-requested-with,accept,content-type");
	        //允许客户端发送cookies true表示接收,false不接受 默认为false? 
	        response.addHeader("Access-Control-Allow-Credentials","true");
	        chain.doFilter(request, response); 

问题一:@CrossOrigin(origins = "*", maxAge = 3600) 时好时坏

  本地代码测试,测试库测试都没问题 只要上了正式库就有问题,可能是正式库环境有问题吧,但对比了很久没什么区别;所以为了避免麻烦 最好大家还是用过滤器吧。

问题二:X-Requested-With is not allowed by Access-Control-Allow-Headers

当你看到这个的时候,表示已经可以跨域了 就是请求类型不支持,经测试 如果你加上contentType:'application/json; charset=utf-8',ajax请求就出错 可是 如果不加 参数无法上传。

是的 就加上x-requested-with 表示支持ajax就可以了

 response.addHeader("Access-Control-Allow-Headers", "x-requested-with,accept,content-type");

其他的请求头

发布了70 篇原创文章 · 获赞 16 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/ucicno000/article/details/85256809
今日推荐