项目中Axios二次封装实例Demo

yizhihongxing

下面我将详细讲解"项目中Axios二次封装实例Demo"的完整攻略。

首先,我们需要明确的是Axios是一个重要的HTTP库,用来发送AJAX请求,其具有易用的API、自动转换的JSON数据、客户端和服务端程序员可使用的promise等特性。

但是,在实际的项目中,我们可能需要对Axios进行二次封装,以便我们更好的处理业务逻辑。因此,我们需要遵循以下的步骤来实现这一目标:

步骤一:创建封装函数

import axios from 'axios'

// 创建axios实例
const service = axios.create({
  timeout: 5000 // 请求超时时间
})

// 错误处理函数
const errorHandle = (status, other) => {
  // 状态码判断
  switch (status) {
    case 400:
      console.log('信息校验失败')
      break
    case 401:
      console.log('认证失败')
      break
    case 403:
      console.log('token校验失败')
      break
    case 404:
      console.log('请求的资源不存在')
      break
    default:
      console.log(other);  
  }}

// 请求拦截器
service.interceptors.request.use(
  config => {
    // 添加请求头信息
    config.headers.Authorization = sessionStorage.getItem('token')
      ? sessionStorage.getItem('token')
      : ''
    return config
  },
  error => {
    Promise.reject(error)
  }
)

// 响应拦截器
service.interceptors.response.use(
  response => {
    // 在此处对返回的数据进行处理
    return Promise.resolve(response.data)
  },
  error => {
    // 获取错误码
    const { response } = error
    if (response) {
      errorHandle(response.status, response.data.other)
      return Promise.reject(response.data)
  } else {
      console.log('连接到服务器失败')
  }
})

export default service

步骤二:调用封装函数

import service from './service.js'

service
  .post('/api/user/register', {
    username: 'test',
    password: '111111'
  })
  .then(res => {
    console.log(res)
  })
  .catch(err => {
    console.log(err)
  })

以上示例中,我们首先创建了一个名为service的axios实例,然后对它进行了二次封装。接下来,在我们的具体业务代码中,只需要调用service实例并使用其中的方法即可发送AJAX请求。如果出现错误,我们也可以在拦截器中进行捕获、处理和返回。

总的来说,上述实例提供了一个二次封装Axios的通用模板,可以在项目中使用和扩展。您可以根据项目需求进行自由组合、拓展,以便我们更好地处理业务逻辑。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:项目中Axios二次封装实例Demo - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • 在PostgreSQL中实现递归查询的教程

    在PostgreSQL中,可以通过使用递归查询来处理具有树形结构的数据。递归查询通常用于查询一个表中与某个特定行相关联的所有行,或者用于搜索多层级的数据结构,如组织架构、论坛帖子等。以下是实现递归查询的完整攻略。 第一步:创建包含树形结构数据的表 为了演示递归查询的用法,首先需要创建一个包含树形结构数据的表。例如,以下是一个包含员工信息的表,其中某些员工具有…

    other 2023年6月27日
    00
  • js中哈希表的几种用法总结

    JS中哈希表的几种用法总结 哈希表(Hash Table)是一种基于键值对(key-value)的数据结构,可以充分利用计算机高速的特性,在 O(1) 的时间复杂度下完成数据的查找、插入、删除等操作。在 JavaScript 中,我们可以使用对象(object)或 Map 类来实现哈希表,下面是它们几种用法总结。 1. 以对象实现哈希表 1.1 创建一个空对…

    其他 2023年3月28日
    00
  • 基于PHP实现通过照片获取ip地址

    基于PHP实现通过照片获取IP地址的攻略 1. 简介 在本攻略中,我们将使用PHP编程语言来实现通过照片获取IP地址的功能。具体来说,我们将利用照片中的元数据信息,提取出其中的位置信息,从而获取到照片拍摄时的IP地址。 2. 步骤 2.1 安装必要的库和工具 首先,我们需要安装以下两个库和工具:- Exif扩展:用于读取照片的元数据信息。- GeoIP库:用…

    other 2023年7月31日
    00
  • Oracle REGEXP_LIKE模糊查询用法例子

    Oracle REGEXP_LIKE模糊查询用法例子攻略 简介 Oracle数据库提供了REGEXP_LIKE函数,用于进行正则表达式的模糊查询。该函数可以帮助我们在数据库中进行更加灵活和精确的数据搜索。本攻略将详细介绍REGEXP_LIKE函数的用法,并提供两个示例说明。 语法 REGEXP_LIKE函数的基本语法如下: REGEXP_LIKE(colum…

    other 2023年8月19日
    00
  • python调用kubernetesAPI简单使用方法

    下面是Python调用Kubernetes API的攻略: 1. 安装Kubernetes Python客户端库 Kubernetes官方提供了一个Python客户端库——kubernetes-python-client,可以方便地调用Kubernetes API。下面是安装步骤: pip install kubernetes 2. 连接Kubernetes…

    other 2023年6月27日
    00
  • Qt实现模糊匹配功能的实例详解

    Qt实现模糊匹配功能的实例详解 背景 在实际开发中,我们经常需要实现模糊匹配功能,例如搜索框中输入关键词,可以根据关键词匹配显示相应的内容。Qt提供了一些强大的工具来实现模糊匹配功能。 步骤 1. 创建Qt工程并添加搜索框 首先,创建一个Qt工程,添加一个搜索框和一个显示结果的列表,以便用户输入关键词后,可以根据关键词匹配显示相应的内容。以下是示例代码: Q…

    other 2023年6月27日
    00
  • 安卓手机USB调试模式打开方法

    安卓手机USB调试模式打开方法攻略 什么是USB调试模式? USB调试模式是一种安卓手机的开发者选项,它允许你通过USB连接将手机与电脑进行通信。这对于开发者来说非常有用,因为它可以让他们在开发和调试应用程序时直接在手机上运行和测试代码。 打开USB调试模式的步骤 以下是打开USB调试模式的详细步骤: 首先,确保你的安卓手机已经连接到电脑上,并且USB数据线…

    other 2023年7月27日
    00
  • 聊一聊和nacos2.0.0对接那些事

    聊一聊和nacos2.0.0对接那些事 为了实现服务的注册、发现和配置管理,我们经常需要使用分布式配置中心。而Nacos就是一款非常优秀的分布式配置中心,今天我们来聊一聊和Nacos2.0.0对接的一些事情。 概述 在将服务对接到Nacos上时,我们需要了解以下这些方面: Nacos的核心概念 Nacos的使用方式 与Nacos2.0.0的集成 Nacos的…

    其他 2023年3月28日
    00
合作推广
合作推广
分享本页
返回顶部