vue跨域问题

本地调试

可以通过在vue.config.js中配置devServer来实现跨域请求。

module.exports = {
    publicPath: './',
    productionSourceMap: false, // 生产环境是否生成 sourceMap 文件
    devServer: {
        proxy: {
            '/bi': {
                target: 'http://1.11.113.20:1234/bi',  // 后台接口域名
                ws: false,        //如果要代理 websockets,配置这个参数
                secure: false,  // 如果是https接口,需要配置这个参数
                changeOrigin: true,  //是否跨域
            }
        }
      },
      chainWebpack: config => {
        config.plugin('html')
            .tap(args => {
                args[0].title = '';
                return args;
            })
    }
}

通过axios来请求接口

try {
        const res = await axios.get('/bi/Viewer?proc=1&action=viewer&hback=true&db=__MY_DB__!2f!!672a!!547d!!540d!-1.db&platform=PC&browserType=chrome?token=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6Ijk5NjM5YzVjLWE1MGYtNGI5OC04NDBiLWQxMjdjMGZhY2JmZSJ9.OVdKHrp1sRoMLdPftxm1DCESqIUBRQspR0kvOvGGFR4YxYIaWTYLFuTtA0o2mvsYpVk5I5BO2ag448QR3YPrqg');
        console.log(res?.data);
      } catch (error) {
        console.error(error);
      }

项目发布后的跨域问题

需要运维配置ngnix,将前端域名和后端服务器映射起来。

嵌入外部网页,涉及跨域,单点登录

<iframe ref="iframe" class="iframeView"
      src="/bi/Viewer?proc=1&action=viewer&hback=true&db=__MY_DB__!2f!!672a!!547d!!540d!-1.db&platform=PC&browserType=chrome?token=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjZiMDM1YjEzLWNkZTItNDc2ZC04YTliLTc1MjQxZDViOTc2ZiJ9.7TOj2ZkjpU3Iee-0t_MBdnPeK4ffm5KZmLBLbDxTieO4O_hqzENQ_G6SN0yY1CiyboADnjPKZ5Ur0oe4LSqzNA"
      frameborder="0" scrolling="auto"></iframe>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值