firemail

标题: 关于跨域问题 [打印本页]

作者: java    时间: 2017-10-27 10:49
标题: 关于跨域问题
本帖最后由 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发现不了是从其它网站来的访问











欢迎光临 firemail (http://firemail.wang:8088/) Powered by Discuz! X3