axios封装与使用-以生成图形验证码为例

本文介绍了axios,一个基于Promise的HTTP客户端,详细讲解了其功能、配置、安装与使用方法,包括请求拦截、响应拦截,以及如何将其封装在前端项目中进行异步操作和图形验证码的处理。
摘要由CSDN通过智能技术生成

什么是axios?

所谓axios,它是一个基于Promise的HTTP客户端,用于浏览器和Node.js环境中发送HTTP请求。它可以在前端与后端之间进行数据交互,支持各种请求方法(如GET、POST等).并提供了丰富的功能和配置选项,如请求拦截、响应拦截、请求取消等。axios还支持异步请求、并发请求以及对请求和响应数据的转换和处理。它简洁易用,广泛应用于前端开发中。

为什么要使用axios?

提供了丰富的功能和配置选项,如请求拦截、响应拦截、请求取消等。axios还支持异步请求、并发请求以及对请求和响应数据的转换和处理。它简洁易用,广泛应用于前端开发中。为了便于使用,我们可以将axios请求方法封装到request模块中。

怎么使用axios?

1安装:

npm i axios

2导入

在utils下新建一个request.js文件,导入包

import axios from 'axios'

3创建axios实例

const instance = axios.create({
  baseURL: 'http://cba.itlike.com/public/index.php?s=/api/',
  timeout: 5000

})

4完成一些基本的配置

在这里,首先,需要配置请求和响应拦截器

详细代码如下

// 添加请求拦截器
instance.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  return config
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error)
})
// 添加响应拦截器
instance.interceptors.response.use(function (response) {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  // 默认axios会多包装一层data
  return response.data
}, function (error) {
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么
  return Promise.reject(error)
})

5导出:

export default instance

6测试使用:

import request from '@/utils/request'
export default {
  name: 'LoginIndex',
  async created () {
    const res = await request.get('/captcha/image')
    console.log(res)
  }
}

保存之后,打开浏览器我们看到控制台返回了一些结果:

所谓图形验证码,实质上就是一个请求回来的图片,要实现这一功能需要我们做的就是将传回来的图片地址在页面中渲染出来,可以采用如下代码

首先,定义返回的数据,

 data () {
    return {
      picCode: '', // 用户输入的验证码
      picKey: '', // 请求传递的图形验证码唯一标识
      picUrl: '' // 请求渲染的图片地址
    }

紧接着,将获取图形验证码的方法进行封装

 async created () {
    this.getPicCode()
  },
  methods: {
    async getPicCode () {
      const { data: { base64, key } } = await request.get('/captcha/image')
      this.picUrl = base64
      this.pickey = key
    }
  }
}

最后,在页面中渲染

<img src = "picUrl">

运行结果如下所示

由于我这边没有设置太多的css属性,导致显示的不是很好,但功能是实现的。

好啦,以上就是axios封装与使用的详细步骤,希望对大家有所帮助~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学英语的程序媛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值