vue请求服务器上的json数据跨域问题

vue请求服务器上的json数据跨域问题

  • 开发环境

问题:
本地直接使用axios请求会报跨域错误
在这里插入图片描述

解决方法:
在config文件下找到index.js,vue-cli3没有config文件的需要自己在根目录创建vue.config.js文件。

    proxyTable: {
      '/json': {
        target:"http://xx", //你请求的地址
        changeOrigin: true,
        pathRewrite: {
          '^/json': 'http://xx' //替换target中的地址,项目中请求http://xx就直接写成/json就可以了
        }
      },
    },
  },

修改完配置后,需要重新 npm run dev

  • 生产环境:

配置完后本地请求就不会报跨域了
再在发起请求的地方加上一个判断就可以兼顾线上的请求问题
解决方法:

          let mapDataUrl = ''
          if(process.env.NODE_ENV === 'development'){//判断是否是开发环境
            mapDataUrl = '/json'+'xx'+'.json'//开发网址用刚才的配置好的/json
          }else{
            mapDataUrl = 'http://xx'+'xx'+'.json'//生产环境的网址直接写
          }
          this.$axios({
            url:mapDataUrl,
          })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值