-
首先,springMVC的版本要在4.2或以上版本才支持@CrossOrigin
-
关于跨域的几种解决方案:
-
通过jsonp跨域:
JSONP实现跨域请求的原理简单的说,就是动态创建< script>标签,然后利用< script>的src不受同源策略约束来跨域获取数据 -
使用代理服务器:
使用代理方式跨域更加直接,因为同源限制是浏览器实现的。如果请求不是从浏览器发起的,就不存在跨域问题了。 -
CORS,即跨域资源共享
需要浏览器和服务器同时支持,目前,所有浏览器都支持该功能。因此,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信。重点关注header中的Origin和Access-Control-Allow-Origin两个字段。 -
@CrossOrigin中的2个参数
origins : 允许可访问的域列表
maxAge:准备响应前的缓存持续的最大时间(以秒为单位) -
spring注解@CrossOrigin不起作用的原因:
1.是springMVC的版本要在4.2或以上版本才支持@CrossOrigin
2.在Controller注解上方添加@CrossOrigin注解后,仍然出现跨域问题,解决方案之一就是:在@RequestMapping注解中没有指定Get、Post方式,具体指定后,问题解决。
@CrossOrigin注解解决跨域问题
最新推荐文章于 2024-08-26 09:15:55 发布