• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

如何用vue封装axios请求

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

其实vue封装axios是很简单的

首先 在src路径下建http文件夹 并且创建api.js env.js request.js 这三个文件

env.js文件

这个文件主要就是封装我们的公共地址

export default {
// 开发环境
dev: {
    baseUrl: "开发环境公共地址"
},
//   测试环境test
test: {
    baseUrl: "测试环境公共地址"
},
//线上接口
prod: {
    baseUrl: "线上环境公共地址"
}
};

request.js 文件

这里主要就是创建axios 以及封装请求拦截和相应拦截

import axios from "axios";
import env from "./env";
//这里是私有域名  但是也可以不写
var vipUrl = "/app";
// 创建axios实例

const service = axios.create({
//这里拿线上接口测试
baseUrl: env.prod.baseUrl + vipUrl,
    headers:{},//请求头
    settimeout:2000,//超时时间
});
// 添加请求拦截器
service.interceptors.request.use(
config => {
    // 在发送请求之前做些什么
    config.headers["deviceType"] = "H5";
    console.log("请求的数据:", config);
    return config;
},
error => {
    // 对请求错误做些什么
    return Promise.reject("出错", error);
}
);

// 添加响应拦截器
service.interceptors.response.use(
response => {
    // 对响应数据做点什么
    // console.log("返回的数据", response);
    return response;
},
error => {
    // 对响应错误做点什么
    return Promise.reject(error);
}
);
export default service;

api.js

这个文件中主要是需要的接口地址

//引入request.js文件
import request from "./request";

// 轮播
export function getBanners(data) {
return request({
    url: "/banner",//这个地址是去掉公共地址和私有域名之后剩下的地址
    method: "GET",//请求方式 支持多种方式  get post put delete 等等
    data//发送请求要配置的参数 无参数的情况下也可以不写
});
}

最后是在页面中的引用

那个页面需要请求数据 就引入相应的方法 比如我的首页需要引入banner

<script>
//引入需要的接口
import { getBanners } from "../http/api";
export default {
name: "Home",
components: {},
mounted() {
    //直接使用 .then 是请求成功的回调 .catch是请求失败的回调
    getBanners()
    .then(result => {
        window.console.log("111", result);
    })
    .catch(err => {
        window.console.log("222", err);
    });
},
methods: {}
};
</script>

以上就是如何用vue封装axios请求的详细内容,更多关于用vue封装axios请求的资料请关注极客世界其它相关文章!


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
浅谈JS三座大山之异步和单线程发布时间:2022-02-05
下一篇:
详解微信小程序官方人脸核身认证发布时间:2022-02-05
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap