WEB软件项目中经常会遇到跨域问题,解决方案早已是业内的共识,简要记录主流的处理方式:
1. 跨域问题
跨域问题">跨域问题
解决跨域问题有很多种方式,如使用springboot自带的crossOrigin注解
java">@CrossOrigin(origins = {"*"}, allowedHeaders = "*")
添加这个注解后,所有的http response头上都会加上
Access-Control-Allow-Origin * 以及
Access-Control-Allow-Headers * 两个头部,这样可以满足CORS的跨域定义,前端看到这两个头部就认定对应的域名接收任何来自或不来自于本域的请求
跨域传递cookie的问题">跨域传递cookie的问题
跨域和跨域传递cookie是两个不同纬度的问题,如果要做到跨域感知session的前提下将cookie也能传上去,这个时候就需要设置另外一个头部。
java">@CrossOrigin(origins = {"*"}, allowCredentials = "true", allowedHeaders = "*")
使用了 allowCredentials 后 Access-Control-Allow-Credentials 头被设置成 true,同时前端设置xhrField:{withCredential:true} 后&