axiso的二次封装

文章介绍了如何在Node.js环境中使用axios库创建API接口,包括引入axios,设置超时和基础URL,添加响应拦截器,以及对GET和POST请求的简单封装。还展示了如何在Vue项目中进行二次封装以便全局使用。
摘要由CSDN通过智能技术生成

创建一个名为api的文件夹,在api里面创建一个叫index.js的文档

在index.js文档中先引入axios,如果没有下载那就先下载

cnpm install --save axios
cnpm install --save vue-axios

安装后 

import axios from "axios";

在index下引入这个 

axios.defaults.timeout = 30000;

 这个设置多长时间,然后过期

axios.defaults.baseURL = "http://47.94.4.201";

 这个是二次封装的这个要是不会就先不管

// 添加响应拦截器

axios.interceptors.response.use(

  function (response) {
    //可以写if判断,提前拦截错误信息

    return response;

  },

  function (err) {
    return Promise.reject(err);

  }

);

这个是在数据发送回来时可以做的判断,可以写状态是否为200等等这些 

export function apiGet(url, params) {
  return new Promise((resolve, reject) => {
    axios

      .get(url, {
        params: params,

        headers: { token: sessionStorage.getItem("token") },

      })

      .then((res) => {
        resolve(res.data);

      })

      .catch((err) => {
        reject(err.data);

      });

  });

}

这个是简单的get封装

export function apiPost(url, params) {
  return new Promise((resolve, reject) => {
    axios({
      method: "post",

      url: url,

      data: params,

    })

      .then((res) => {
        resolve(res.data);

      })

      .catch((err) => {
        reject(err.data);

      });

  });

}

这个是简单的post封装 

然后在mian.js上把这个引入进去可以全局使用了

import { apiGet, apiPost } from "./api/api.js";

Vue.prototype.$apiGet = apiGet;

Vue.prototype.$apiPost = apiPost;

在上面不是写了一个二次封装的吗,我把二次封装的补充一下,

在api下的文件当中在创建一个api.js文档,在文档中写以下内容

先引入你需要的方法名

import { apiGet } from "./index";

 然后使用这个方法

export function getList() {

  return new Promise((resolve) => {

    apiGet("/index.php/index/index/getcode").then((res) => {

      resolve(res);

    });

  });

}

在页面上使用看一下代码

import { getList } from '@/api';

export default {

    data() {

        return {

        }

    },

    created() {

        getList().then(res => {

            console.log(res);

        })

    }

}

 

 好了这个就是一个简单的二次封装

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值