vue proxyTable 解决本地环境跨域

在localhost环境下跑项目时,接口地址是 http://xxxx.com/cyryysl/mobileApplyStep1Save.action 这样的接口地址,我们这样直接使用会存在跨域的请求,导致接口请求不成功,我们进入 config/index.js 代码下如下配置即可。

// 代理配置表,在这里可以配置特定的请求代理到对应的API接口
    // 例如将'localhost:8080/api/xxx'代理到'www.example.com/api/xxx'
    // 使用方法:https://vuejs-templates.github.io/webpack/proxy.html
 proxyTable: {
      '/cyryysl': {
        target: 'http://192.168.170.41:8082/cyryysl', // 接口的域名
        // secure: false,  // 如果是https接口,需要配置这个参数
        changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
        pathRewrite: {
          '^/cyryysl': ''
        }
      }
    },

 

main.js里面这样写

接口地址原本是 /cyryysl/xxx.action,但是为了匹配代理地址,在前面加一个 /cyryysl,  因此接口地址需要写成这样的即可生效 /cyryysl/xxx.action。

注意: '/cyryysl' 为匹配项,target 为被请求的地址,因为在 ajax 的 url 中加了前缀 '/cyryysl',而原本的接口是没有这个前缀的,所以需要通过 pathRewrite 来重写地址,将前缀 '/cyryysl' 转为 '/'。如果本身的接口地址就有 '/cyryysl' 这种通用前缀,就可以把 pathRewrite 删掉。

自己的理解:这个配置只是对本地环境的配置,和打包后的线上环境是没关系的,如果线上的前后端代码不在同一域名下,那就要通过其他方式来解决了,我们公司目前用的nginx代理

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值