vue cli3请求跨域接口404

发布于 2022-09-12 03:32:29 字数 757 浏览 14 评论 0

代理配置,自己创建配置文件 vue.config.js

module.exports = {
    proxyTable: {
        '/api':{
            target: 'http://localhost:3000',  // 后台api
            changeOrigin:true, // 在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,
            // secure: true,
            pathRewrite: {
                '^/api': '/'   //需要rewrite的,
            }
        }
    }
}

根目录配置

const baseUrl = process.env.NODE_ENV === 'development' ?  configs.baseUrl.dev : configs.baseUrl.pro //dev= '/api'

请求连接

 export const getBannerData = () => {
    return axios.request({
        url: 'banner',
        method: 'get'
    })
 }

报错信息
image.png

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

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

发布评论

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

评论(2

新雨望断虹 2022-09-19 03:32:29
 proxyTable: {
        '/api':{
            target: 'http://localhost:3000',  // 后台api
            changeOrigin:true, // 在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,
            // secure: true,
            pathRewrite: {
                '^/api': '/'   //需要rewrite的,
            }
        }
    }

表示把 localhost/api/banner 代理到 localhost:3000/banner

一般问这个问题的,都是改成

pathRewrite: {
    '^/api': '/api'   //需要rewrite的,
}
深爱成瘾 2022-09-19 03:32:29

想要代理生效就不能给axios设置baseUrl属性,设置了这个代理不会生效,我也出现过这种情况

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