如何使用proxyTable在vue-cli中进行跨源请求?

时间:2019-04-22 07:36:09

标签: vue.js webpack vue-cli-3

我想在vue-cli项目中将proxyTable与axios一起使用。

在我的 config / index.js 中,我输入了以下代码:

proxyTable: {
  '/getnews': {
    target: 'https://xx.xxx.xx.x'
    changeOrigin: true,
    secure: false,
    pathRewrite: {
      '^/getnews': '/getnews'
    }
  }
}

在我的请求函数中,它是这样的:

var url = '/getnews';
  this.$axios({
    methods: 'get',
    url: url,
  })
  .then(response => {
    console.log(response);
  })

现在是一个问题,我的浏览器控制台告诉我

  

xhr.js?ec6c:178 GET http://localhost:8080/getnews 504(网关超时)

终端显示:

  

尝试将请求/ getnews从localhost:8080代理到https://xx.xxx.xx.x(ECONNREFUSED)时发生错误

所以看起来代理无法正常工作,我的请求仍然转到我的本地主机。有谁知道该如何解决?

1 个答案:

答案 0 :(得分:0)

我终于在朋友的帮助下弄清楚了。 导致问题的原因是缺少端口号。代码应如下所示:

proxyTable: {
  '/getnews': {
    target: 'https://xx.xxx.xx.x:8080'
    changeOrigin: true,
    secure: false,
    pathRewrite: {
      '^/getnews': '/getnews'
    }
  }
}

然后就可以了。