vue项目中,使用axios跨域处理

vue项目中,使用axios跨域处理

我们在使用vue-cli启动项目的时候cnpm start便可以启动我们的项目了,通常我们的请求地址是以localhost:8080来请求接口数据的
想要实现跨域拿到别人域名的东西,我们可以在vue-cli配置文件里面设置一个代理;
在vue-cli项目中的config文件夹下的index.js配置文件中,dev里面配置:
dev: {
env: require('./dev.env'),
port: 8080,
autoOpenBrowser: true,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {},
cssSourceMap: false
}

我们在使用axios发送请求时,可以把axios绑定在Vue的原型上Vue.prototype.$http=axios。这样我们可以全局使用,this.$$http.get("url").then(res=>{})因为是基于promis的所以可以直接.then

如果请求的地址跨域,我们要在域名后面加上一个“暗号”

例如:“https://m.maizuo.com/v4/api/film/now-playing?__t=1525397149162&page=1&count=5

这个网址我们写成https://m.maizuo.com/mz/v4/api/film/now-playing?__t=1525397149162&page=1&count=5网址中多出来的/mz是我们自己起的名字,在dev的proxyTable: {}, 进行配置,vue-cli有能力获取到/mz从而做一些事情;

proxyTable: {
    '/mz': {//在这里可以匹配"/mz暗号"
        target: "https://m.maizuo.com/",//这里是真正的目标域
        changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
        //这时我们发送的url是带有暗号的url所以下面我们把暗号去掉
        pathRewrite: {
          '^/mz': ''//匹配暗号用空字符串代替
        }
    }
}

修改了配置项要重新启动服务器,此时我们就能拿到跨域的数据了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 王霞感恩践行100天(第149天) 3:感恩今天中午好好睡了一觉,闭上眼睛就睡着了,谢谢,谢谢,谢谢。 6:感恩所...
    淳淳413阅读 2,806评论 0 2
  • 夜空到底离我有多远,繁星点点,看迷了眼。 有眨的,有静的,有亮的,有暗的,有高的,有低的。幻想我在其中,是哪个啊?...
    态渡阅读 2,571评论 6 4
  • 第二周作业题: 1. 回顾自己朋友圈分享的10篇文章或链接,写下自己转发的具体动机是什么? 答题格式为 标题:你好...
    Jeffreyshang阅读 1,697评论 0 1
  • 对于他人生命里悲惨的变故,我又爱听又怕听:爱听当然是出于劣根性,人们喜欢听那种把种种复杂的悲剧总结成三言两语的故事...
    Molly_zhang阅读 493评论 0 0
  • 来到看守所,哇!外表看上去好宏伟啊。里面操场,喷泉,公园应有尽有。接待我们的看守所的老师是一个看起来挺有喜感的中年...
    小小少女阅读 3,244评论 0 3

友情链接更多精彩内容