vue-cli proxyTable配置了 为什么还是不能跨域?

发布于 2022-09-06 14:57:21 字数 1309 浏览 10 评论 0

我后台的请求地址是 https://wd7175036853tpzaxl.wilddogio.com
但是我的公共接口是 https://wd7175036853tpzaxl.wilddogio.com/api
比如我请求/list 实际上请求的是 https://wd7175036853tpzaxl.wilddogio.com/api
我要请求/detail 实际上请求的是 https://wd7175036853tpzaxl.wilddogio.com/api/detail
那么,问题来了,1.如何解决命名冲突?下面这么写可以吗?
2.这是开发环境的配置,上线的时候怎么办呢?

 proxyTable: {
      '/api/**': {//这里直接写/api和我后面公共的api命名冲突???/api/**是什么意思?
        target: 'https://wd7175036853tpzaxl.wilddogio.com',
        secure: true,  
        changeOrigin: true,
        pathRewrite: {
          '^/api': '/'   //这里如何写啊?
        }
      }

图片描述

图片描述
图片描述

图片描述
问题已参照下面老师的回答更新,然而还是没有解决啊。
参考网上这么写的,可是就是访问不到数据啊,还是报错啊!!!请各位老师帮忙分析一下我该怎么办
我现在只有后台给我的一个接口,用这种方式能实现跨域吗?这种方式好像无效的啊

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

怎会甘心 2022-09-13 14:57:21

clipboard.png

然后像下面这样调用

clipboard.png
相当于你访问了http://localhost:8087/www/logout/severToken

process.env.NODE_ENV === 'development' ? '/api' : '' 这段代码是你自己加上的
以下是我加的

clipboard.png

淡墨 2022-09-13 14:57:21

1、代理地址可以这样写,你在调试工具看的那个请求地址不是真正的请求地址,就算代理配置成功了它显示的也还是localhost:8080

proxyTable: {
  '/api': {
    target: `https://wd7175036853tpzaxl.wilddogio.com/api/`,
    changeOrigin: true,
    pathRewrite: {
      '^/api': ''
    }
  }
},

2、其实你不是配置了axios.defaults.baseURL么,直接配baseURL然后上面的代理配置注释掉就可以正常请求了。
至于跨域报错问题需要后台进行配置

风流物 2022-09-13 14:57:21

那个/api就代替了那个http…,直接get(/api/list)就好,你这样写相对于没用那个

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文