vue cors

发布于 2022-09-11 23:28:22 字数 483 浏览 16 评论 0

vue.config.js文件中的配置如下,

// vue.config.js
module.exports = {
    runtimeCompiler: true,
    devServer: {
        port: 8084,
        proxy: {
            '/oauth': {
                target: 'http://10.180.37.105',
                ws: true,
                changeOrigin: true,
            },

        }
    }
}

axios 请求url:http://10.100.1.121:8083/oauth/token 还是报跨域的错误。

请问是我的vue.config.js文件中哪里配置的不对么?

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

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

发布评论

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

评论(2

堇色安年 2022-09-18 23:28:22
axios 不需要全路径

请求流程是这样的
本地devserver 开启服务器 -> 浏览器访问 devserver -> devserver判断是否需要代理 -> 需要转接 不需要直接访问返回本地资源

http://10.100.1.121:8083/oauth/token 直接请求这个地址是绕过devserver 所以axios不需要http://10.100.1.121:8083
千年*琉璃梦 2022-09-18 23:28:22
proxy: {
        '/oauth': {
            target: 'http://10.180.37.105',
            ws: true,
            changeOrigin: true,
        },
    }

你目前这样写的话意思是/oauth/***现在会被代理到请求 http://10.180.37.105/oauth/***, 打个比方,你直接访问的/oauth/login 现在会被代理到请求 http://10.180.37.105/oauth/login, 你加上了自己的host的话实际上已经绕过了devserver,如果你喜欢加上你的host,那么可以这样写:

proxy: {
        '/oauth': {
            target: 'http://10.180.37.105',
            ws: true,
            changeOrigin: true,
            pathRewrite: {
                '^/oauth' : '/oauth'
            }
        },
    }
    这样你的http://10.100.1.121:8083/oauth/token会被匹配到,就会被代理到 http://10.180.37.105/oauth/login。不知道我说明白了吗
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文