了解CORS: 跨域资源共享 CORS 详解 - 阮一峰
# 1.项目未添加Security依赖
前端地址: http://localhost:9528 后端地址: http://localhost:8889
前端调用接口
对于非简单请求,浏览器首先会发起一个OPTIONS预检请求,询问服务器,当前网页所在的域名是否在服务器的许可名单之中,以及可以使用哪些HTTP动词和头信息字段。只有得到肯定答复,浏览器才会发出正式的XMLHttpRequest请求,否则就报错。
控制台:
出现了跨域情况
# 解决方案 1
在filter中添加白名单,完整filter代码⤵️
再次发起请求
OK了
随后浏览器会自动发起原请求
# 解决方案 2
新建CorsConfiguration配置类,自己百度
# 2.项目添加了Security依赖
需要额外添加如下配置
如果同时进行了filter和CorsConfiguration的配置,OPTIONS请求会返回403,并且控制台提示 非常恶心。 网上没有找到相应的解释。
疑问:OPTIONS请求到达服务器后是谁做出的响应
领取专属 10元无门槛券
私享最新 技术干货