Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 393|回复: 0

使用proxyTable 解决webpack+vue-cli+vue-resource中跨域问题

[复制链接]
  • TA的每日心情
    奋斗
    2024-9-22 15:19
  • 签到天数: 795 天

    [LV.10]以坛为家III

    2050

    主题

    2108

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    724084
    发表于 2021-5-19 23:17:24 | 显示全部楼层 |阅读模式

    当游览器报这样的错时,表示你的请求需要跨域!

    这里,我说的是使用webpack+vue-cli+vue-resource中跨域问题,

     

    config文件下面有index.js文件里有一个叫proxyTable的配置参数

    proxyTable: {
          '/restful':{
            target:'http://xxxxx/member/service/',
            changeOrigin:true,
            pathRewrite:{//可以不写
                '^/restful':'/restful'
            }
          }
        },

    changeOrigin这参数设置为true的时候,就可以虚拟一个本地代理的服务接收请求这样就可以解决跨域问题了target是你请求接口的域名

    接口调用的时候可以这么写

    this.$http.post(commonUrl + "/restful/member?op=getMember&access_token=111", {
              op: 'getMember',
            }).then(response => 
            }, response => {
    
            });
          },

    有关于API proxy的说明,使用的就是这个参数。
    https://vuejs-templates.github.io/webpack/proxy.html

    这个参数主要是一个地址映射表,你可以通过设置将复杂的url简化,例如我们要请求的地址是api.xxxxxxxx.com/list/1,可以按照如下设置:

     

    proxyTable: {
      '/list': {
        target: 'http://api.xxxxxxxx.com',
        pathRewrite: { //可以不写
          '^/list': '/list'
        }
      }
    }

     

    这样我们在写url的时候,只用写成 /list/1 就可以代表api.xxxxxxxx.com/list/1.
    那么又是如何解决跨域问题的呢?其实在上面的'list'的参数里有一个changeOrigin参数,接收一个布尔值,如果设置为true,那么本地会虚拟一个服务端接收你的请求并代你发送该请求,这样就不会有跨域问题了,当然这只适用于开发环境。增加的代码如下所示:

     

    proxyTable: {
      '/list': {
        target: 'http://api.xxxxxxxx.com',
        changeOrigin: true,
        pathRewrite: {
          '^/list': '/list'
        }
      }
    }

     

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-10-9 14:24 , Processed in 0.068406 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表