本帖最后由 java 于 2017-10-27 11:52 编辑
问题产生:
基于前后端分离的架构思想,前后端都在同一台电脑上
前端: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发现不了是从其它网站来的访问
|