前后端分离项目解决跨域问题

前后端分离项目解决跨域问题

问题提出

什么是跨域

跨域(CORS)是指不同域名之间相互访问。跨域,指的是浏览器不能执行其他网站的脚本,它是由浏览器的同源策略所造成的,是浏览器对于JavaScript所定义的安全限制策略。在开发过程中经常会遇到前后端分离而导致的跨域问题,导致无法获取返回结果。

什么情况会出现跨域

  • 同一协议, 如http或https

  • 同一IP地址, 如127.0.0.1

  • 同一端口, 如8080

以上三个条件中有一个条件不同就会产生跨域问题。

问题解决

前端解决

  1. 使用JSONP方式实现跨域调用;

  2. 使用NodeJS服务器做为服务代理,前端发起请求到NodeJS服务器, NodeJS服务器代理转发请求到后端服务器;

后端解决

1.在需要跨域访问的类和方法中设置允许跨域访问(如Spring中使用@CrossOrigin注解)

2.Spring Cloud Gateway 跨域配置

你可能感兴趣的:(java,后端)