Vue跨域问题

在解决Vue跨域问题前,首先要了解什么叫跨域?
跨域是指浏览器不允许当前页面的所在的源去请求另一个源的数据。源指协议,端口,域名。只要这个3个中有一个不同就是跨域。 这里列举一个经典的列子:
在这里插入图片描述
其实,在项目开发过程中,尤其在一些前后端分离的项目中,那么经常会和跨域打交道。这里主要以Vue框架为例,Vue是一个前端框架,那么对于一些跨域请求后台问题也有自己处理的方法。目前自己开发的是Vue项目,所以就百度查到了proxy代理,网上有很多,但为了方便自己,以防后期忘记,所以还是自己写下来吧;¬¬¬

  1. 在Vue项目中config/index.js文件下,由于只有开发环境才会遇到跨域问题,所以只需要在dev中添加proxyTable相关设置:
    在这里插入图片描述
    以上是端口号不同引起的跨域问题,只要在proxyTable的target中配置你要跨域问题即可,比如:前端的端口号是8080,后端的端口号是8082,那么就在target中配置http://localhost:8082,由于这个是本地开发的,使用的是localhost,如果是部署在其他服务器中的话,那么就要把localhost改为你服务器的域名。
  2. 在请求方法的API中,在请求路径前添加’/api’,而这个’/api’要与第一步配置中的’/api’一致,当请求这个地址时,Vue中的proxy代理会把原来的端口替换成要跨域的端口,从而解决跨域问题。例如:前端的请求地址为http://localhost:8080/test,但是要请求后台,而后台的端口号为8082,当提交请求时,proxy代理就会把http://localhost:8080/test改为http://localhost:8082/test 在这里插入图片描述
    以上是端口号不同引起的跨域问题,当然像协议和域名引起的跨域问题,也可以类似的解决。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值