Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2664|回复: 0
打印 上一主题 下一主题

关于跨域问题

[复制链接]

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
跳转到指定楼层
楼主
发表于 2017-10-27 10:49:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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发现不了是从其它网站来的访问






回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-11-25 09:45 , Processed in 0.061273 second(s), 23 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表