什么是axios?

  • 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端 简单的理解就是ajax的封装
  • 在使用Vue.js框架开发前端项目时 会经常发送ajax请求服务端接口 在开发过程中 需要对axios进一步封装 方便在项目中的使用

axios的特性

  • 从浏览器中创建 XMLHttpRequest
  • 从 node.js 发出 http 请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求和响应数据
  • 取消请求
  • 自动转换JSON数据
  • 客户端支持防止 CSRF/XSRF

axios的安装

npm install axios -S

一般我们会在项目根目录的src文件夹下新建一个utils文件夹,
在文件夹下放request.js文件,在request.js中首先导入axios,
然后设置属性,比如baseURL(公共地址)和 timeOut (超时时间)
还可以设置响应拦截和请求拦截,在请求拦截中可以设置loading动画的开启和配置请求头的token
在响应拦截中可以关闭loading和根据后端返回的状态码检测token是否有效
最后把server导出

import axios from 'axios'//创建一个axios
let server = axios.create({// 请求公共地址baseURL: "http://xxxxxxxxx/api",// 超时时间timeout: 5000,
})// 添加请求拦截器
axios.interceptors.request.use((config)=>{// 在发送请求之前做些什么// 比如判断是否有tokenreturn config;}, function (error) {// 对请求错误做些什么return Promise.reject(error);});// 添加响应拦截器
axios.interceptors.response.use((response)=>{// 对响应数据做点什么return response;}, function (error) {// 对响应错误做点什么return Promise.reject(error);});export default server

在根目录创建api文件夹统一接口管理,在创建JS文件(api.js)

//引入
import server from "./request.js"; //路劲自己修改export const login = (params) => {return server({url: "接口路径",method: "post" ,   //后端给什么写什么data: params})
}

在页面中就可以直接导入使用

import {login} from '@/api/api'  //引入页面//调用接口
login(){let data = {userName:"admin",passWord:123456} login(data).then(res =>{})
}

也可以使用 async 与 await 语法糖

import {login} from '@/api/api'  //引入页面//调用接口
async login(){let data = {userName:"admin",passWord:123456} let res = await login(data)
}

Axios的二次封装(简单易懂)相关推荐

  1. axios如何二次封装

    axios二次封装的五种方法 为什么要封装 axios 的 API 很友好,你完全可以很轻松地在项目中直接使用. 不过随着项目规模增大,如果每发起一次HTTP请求,就要把这些比如设置超时时间.设置请求 ...

  2. axios的二次封装与async,await的配合使用?

    前言:前些日子读文章,说是vue3.0会在明年下半年正式推出,改动的地方好像也不少,比如说vue3.x的代码库将会用typescript编写,并提供改进的 TypeScript 支持.变化还是很快的, ...

  3. axios进行二次封装

     Web开发中,我们最常用的HTTP库就是Axios了,它的底层基于Ajax进行封装,在浏览器端和服务端都可以使用.如果大家对一些API不是很熟悉可以参考官方地址,或者中文社区.    为什么要对ax ...

  4. Vue——axios的二次封装

    文章目录 一.请求和传递参数 1.get 请求 2.post 请求 3.axios 请求配置 二.axios 的二次封装 1.配置拦截器 2.发送请求 三.API 的解耦 1.配置文件对应的请求 2. ...

  5. axios介绍以及对axios进行二次封装

    目录 一.axios基础 1.什么是axios? 2.axios的安装 3.axios常用配置项 4.axios和ajax的区别 二.使用axios发送请求 1. 发送get无参请求 2. 发送get ...

  6. axios的二次封装(详解)

    一.首先让我们了解一下为什么要对axios进行二次封装? 1,代码封装,重用性高,减少代码量,减低维护难度. 2,统一处理一些常规的问题一劳永逸,如http错误. 3,拦截请求和响应,提前对数据进行处 ...

  7. 面试官:为啥要axios 的二次封装呢 及其使用是干啥的

    一.为什么要进行封装 通常我们的项目会越做越大,页面也会越来越多,随之而来的是接口数量的增加.api统一管理,不管接口有多少,所有的接口都可以非常清晰,容易维护. 举个例子,当axios发生问题存在重 ...

  8. 基于axios的二次封装

    1. axios的封装前言 axios是一个基于 promise 的 HTTP 库,目前,在vue,react框架中也还是备受青睐,根据不同项目的业务,也有许多种不同的封装方法,但不同的应用场景,导致 ...

  9. react中axios的二次封装

最新文章

  1. IBatis.net动态SQL语句
  2. leetcode520. py解字符串真是太残暴了
  3. 用c#写的一个局域网聊天客户端 类似小飞鸽
  4. 小程序 怎么选云服务器,小程序如何选择云服务器
  5. Intel 64/x86_64/IA-32/x86处理器 - 通用指令(1) - 数据传输指令
  6. 求大于某一正整数的最小质数
  7. 遇到slideUp Down 问题
  8. phpmail通过qq发邮箱失败_PHPMailer使用QQ邮箱实现邮件发送功能
  9. java itext pdf 添加页码
  10. 深入浅出matplotlib(101):研究最有名的滤波函数:sinc函数
  11. 优质的草图大师素材 草图66!
  12. 浙江公务员考试申论指导作答的思路与方法
  13. 数据库连接和数据库连接池连接
  14. 计算机考研840考纲,2020年北航考研840网络空间安全专业综合考试大纲
  15. 数仓搭建——ODS层
  16. PMI-PMP®远程模考三 正题数
  17. hbase连接数据库
  18. Hi3518E_V200 SDK编译笔记 第二季
  19. 数字图像处理学习记录
  20. 到底什么才是业务架构?

热门文章

  1. 坐标系转换--椭球面多项式拟合公式转换模型变换关系理解
  2. 诠释绿色科技 Laedana荣获2022国际CMF设计奖
  3. Libuv的安装及运行使用
  4. 检查软件下载是否完整 MD5 工具使用 ----- md5sum
  5. Python语言程序设计第二章编程题
  6. 批量转换灰度图并保存
  7. GIMP实用技巧学习(二)
  8. 应届生如何获取招聘信息
  9. 上海滩第一代炒股大户沉浮录
  10. python风变编程能找工作_没有永远的工作,只有永远的“就业力”,风变编程Python走起...