vue如何解决跨域问题

        最近在项目中遇到了跨域的问题,记录一下自己在遇到跨域的问题遇到的坑,以及是如何解决的。

        网络上搜索出来的东西都大差不差,但是感觉对我最有用的方式是在vue.config文件中devServer属性中设置proxy属性。

        众所周知Proxy可以理解成,在目标对象之前架设一层 “拦截”,当外界对该对象访问的时候,都必须经过这层拦截,而Proxy就充当了这种机制,类似于代理的含义,它可以对外界访问对象之前进行过滤和改写该对象。

        所以我们可以设置proxy属性来给我们设置一层代理拦截器,如:     

        

  devServer: {     

      proxy: {
          '/test': {
            target: 'https://www.baidu.com',
            changeOrigin: true,
            pathRewrite: {
              '^/test': ''
            }
          }
        }

}

而我们在代码中就需要写http请求就可以写成:

axios.post('/tset/test1/test1', params, APPLICATION_FORM_HEADER);

其中第一个test就为访问proxy的前缀,只要你有这个前缀proxy就会给你自动拼接上https://www.baidu.com的前缀,就可以成功解决跨域问题,这是在本地如何调试,如果需要布置在服务器上,需要在gateway里配置路径。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值