今天被一个跨域请求折腾了一天,任何方法都试过了,结果是google浏览器的问题!
Chrome升级到80版本之后cookie的SameSite属性默认值由None变为Lax,这也就造成了一些访问跨域cookie无法携带的问题。
解决:
打开谷歌浏览器在Chrome中访问chrome://flags/
,搜索SameSite
并设置为disabled即可。
然后就可以进行跨域访问了,当然前提是基本的客户端和服务端的配置得配好。这个很简单:
客户端:
//表示支持跨域携带cookie
xhrFields:{withCredentials:true}
服务端:
在controller上面添加@CrossOrigin(allowCredentials="true", allowedHeaders = "*")
就可以了