美文网首页
vue开发proxy代理跨域请求调试

vue开发proxy代理跨域请求调试

作者: 谢大见 | 来源:发表于2019-02-20 14:07 被阅读0次

    vue proxyTable 接口跨域请求调试

    在不同域之间访问是比较常见,在本地调试访问远程服务器。。。。这就是有域问题。

    比如本地开发服务下是 http://localhost:8080 这样的访问页面,但是我们的接口地址是 http://xxxx.com/save/index 这样的接口地址,我们这样直接使用会存在跨域的请求,导致接口请求不成功

    VUE解决通过proxyTable:

    在 config/index.js 配置文件中

    dev: {
        env: require('./dev.env'),
        port: 8080,
        autoOpenBrowser: true,
        assetsSubDirectory: 'static',
        assetsPublicPath: '/',
        proxyTable: {},
        cssSourceMap: false
      }
    

    需要更改的是 proxyTable 字段

        proxyTable: {
          '/api': {
            target: 'http://xxxxxx.com', // 接口的域名
            // secure: false,  // 如果是https接口,需要配置这个参数
            changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
            pathRewrite: {
              '^/api': ''       // 把 /api 开头的路径替换为 ''
            }
          }
        },
    

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

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

    相关文章

      网友评论

          本文标题:vue开发proxy代理跨域请求调试

          本文链接:https://www.haomeiwen.com/subject/juhhyqtx.html