vue axios封装

简介: vue axios封装

Vue.js 是一款前端框架,而 Axios 是一个基于 Promise 的 HTTP 请求客户端,通常用于发送 Ajax 请求。在Vue.js开发中,经常需要使用 Axios 来进行 HTTP 数据请求,为了更好的维护和使用 Axios,我们可以对其进行封装。下面是一个简单的 Axios 封装示例:

  1. 新建一个 axios.js 文件
import axios from 'axios'
// 创建一个 axios 实例
const service = axios.create({
  baseURL: process.env.BASE_API, // 请求的根路径
  timeout: 5000 // 请求超时时间
})
// 请求拦截器
service.interceptors.request.use(
  config => {
    // 可以在此处添加 token
    return config
  },
  error => {
    console.log(error)
    Promise.reject(error)
  }
)
// 响应拦截器
service.interceptors.response.use(
  response => {
    const res = response.data
    if (res.code !== 200) {
      console.log(res.msg)
      return Promise.reject(res.msg || 'Error')
    } else {
      return res
    }
  },
  error => {
    console.log('err' + error)
    return Promise.reject(error)
  }
)
export default service
  1. 在 main.js 中引入 axios.js 文件
import axios from './axios.js'
Vue.prototype.$http = axios
  1. 在组件中使用封装好的 axios
export default {
  data() {
    return {
      list: []
    }
  },
  mounted() {
    this.getList()
  },
  methods: {
    getList() {
      this.$http.get('/api/list')
        .then(res => {
          this.list = res.list
        })
        .catch(error => {
          console.log(error)
        })
    }
  }
}

以上就是一个简单的 Axios 封装示例,可以根据实际需求适当调整拦截器的逻辑。

相关文章
|
2月前
|
资源调度 JavaScript 前端开发
vue-element-admin 综合开发四:axios安装和封装、mock安装/学习/使用
这篇文章是关于如何在Vue项目中使用axios进行网络请求、二次封装axios以及使用mockjs模拟响应数据的教程。
95 1
vue-element-admin 综合开发四:axios安装和封装、mock安装/学习/使用
|
2月前
vue3+Ts 二次封装ElementUI form表单
【10月更文挑战第8天】
224 59
|
2月前
|
资源调度 JavaScript
|
2月前
|
缓存 JavaScript 搜索推荐
|
2月前
|
前端开发 JavaScript 安全
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
139 4
|
2月前
|
Web App开发 JavaScript 数据可视化
vue3扩展echart封装为组件库-快速复用
vue3扩展echart封装为组件库-快速复用
164 7
|
2月前
vue3 + Ts 中 使用 class 封装 axios
【10月更文挑战第8天】
144 1
|
2月前
vue3 + Ts 中 使用 class 封装 axios
【10月更文挑战第5天】
173 1
|
2月前
|
JavaScript 前端开发 Java
vue2知识点:Vue封装的过度与动画
vue2知识点:Vue封装的过度与动画
15 0