Vue.js使用proxytable跨域的路径问题

代码例子:

/api

proxyTable: {
      '/api': { //将www.exaple.com印射为/apis
        target: 'http://127.0.0.1:80/', // 接口域名
         logLevel: 'debug',
        changeOrigin: true,//是否跨域
        pathRewrite: {
          '^/api': '/api',
        }
      }
    }

这样我们在写url的时候,只用写成 /api/1 就可以代表 www.xxxxxxxx.com/api/1

proxytable的默认pathRewrite为:

1 pathRewrite: {
2       '^/api': ''
3 }

这样我们在写url的时候,写 /api/1 就可以代表 api.xxxxxxxx.com/1

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

changeOrigin参数,如果设置为true,那么本地会虚拟一个服务端接收你的请求并代你发送该请求,这样就不会有跨域问题了。

另:proxytable只在开发环境中使用


---------------------
作者:Robert_Gao
来源:CSDN
原文:https://blog.csdn.net/yingxiongfengyun2020/article/details/80660960
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/wxb1314/p/11070467.html