vue中axios的几种封装技巧

1.通过原型prototype给全局一个axios

        在src/main.js文件内引入axios,全局vue绑定一个$http指向axios

import axios from 'axios'

Vue.prototype.$http=axios

封装好处:全局使用$http代替axios,不用每次都import引入axios文件

等级:青铜

星级:❤❤

2.通过封装axios,请求拦截器,请求地址

  1. 在src下新建文件夹config/url.js    用于储存请求地址的链接url

        以电影网站为例:

//正在热映电影链接  注意后面的动态地址pageNum拼接接口
export const nowplayinglist=
'https://xxxx.com/xxxx?cityId=440300&pageSize=10&type=1&k=9428315&pageNum=';
//即将上映电影链接  注意后面的动态地址pageNum拼接接口
export const commingsoonlist=
"https://xxxx.com/xxxx?cityId=310100&pageSize=10&type=2&k=1915069&pageNum=";
//详情页面电影的信息地址
export const detalislist=
"https://xxxx.com/xxxx?k=3633812&filmId=";
//城市id 的电影院信息地址
export const cinemalist = 
"https://xxxx.com/xxxx?ticketFlag=1&k=8975302&cityId=";
//所有有电影院的城市列表信息地址
export const citylist =
"https://xxxx.com/xxxx?k=3233761";
//登录页面访问axios的信息地址
export const loginUrl =
 "http://xxxx:3000/login";

   2.对axios进行封装请求拦截器 在src创建文件api/http.js

import axios from 'axios'
//请求拦截器设置 两个参数 (成功时执行第一个参数config.headers{}代表请求拦截器的配置,失败时执行第二个) 
axios.interceptors.request.use(
    function(config){
        let host = ''
        let info = config.headers.info
        if(info=='info'){
            host='mall.film-ticket.film.info'
        }else if (info == "cinema") {
            // 影院列表
            host = "xxx.cinema.list";
            //所有城市的数据
        } else if
  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值