1.问题产生:
基于前后端分离的架构思想,前后端都在同一台电脑上
前端:vue express开放端口 9528
后端: spring 开放端口 8880
问题 vue 调用 spring 产生了跨域问题 403 Forbidden
Response 显示 : Invalid CORS request
Cross-origin resource sharing(CORS)把 ip 换成 localhost 问题依旧存在
什么是跨域?
跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。
所谓同源是指,域名,协议,端口均相同
上面 虽然 域名 localhost都相同了,但端口不同,所以问题还存在。 即 spring 和 vue不是同一个网站,所以 spring不允许 vue 访问
解决方法:
1.从spring下手,即让它不要限制谁来访问
a.通过注解@CrossOrigin 来控制一个接口或 controller
b.全局配置 WebMvcConfigurerAdapter
https://spring.io/blog/2015/06/08/cors-support-in-spring-framework
2.从vue下手,即让spring发现不了是从其它网站来的访问