广告
返回顶部
首页 > 资讯 > 前端开发 > 其他 >vue集成axios封装请求
  • 124
分享到

vue集成axios封装请求

2023-05-24 09:05:53 124人浏览 独家记忆
摘要

Vue 组件化的开发方式让我们的前端开发变得更加灵活、高效,而在这个过程中,与后端进行数据交互是不可避免的。而 AxiOS 是一个很好的数据请求框架,它提供了方便的api接口,使用简单、可靠、易于扩展等优点,于是我们选择把它集成到Vue项目

Vue 组件化的开发方式让我们的前端开发变得更加灵活、高效,而在这个过程中,与后端进行数据交互是不可避免的。而 AxiOS 是一个很好的数据请求框架,它提供了方便的api接口,使用简单、可靠、易于扩展等优点,于是我们选择把它集成到Vue项目中。在本文中,我们将介绍如何将 Axios 封装成实用的请求方法,便于在Vue组件中使用。

Axios 简介

一般来说,我们使用 Axios 发送请求会涉及以下三个步骤:

  1. 创建一个 Axios 实例:
// axios实例的默认配置
const instance = axios.create({
  baseURL: '',
  timeout: 5000,
  headers: {
    'Content-Type': 'application/JSON'
  }
});
  1. 发送请求:
instance.get('/api/getUser', {
  params: {
    id: 123
  }
}).then(res => {
  console.log(res)
}).catch(err => {
  console.log(err)
})
  1. 对请求结果进行响应:
instance.interceptors.response.use(res => {
  if (res.status === 200) {
    return res.data;
  } else {
    throw new Error(res.status);
  }
}, err => {
  throw new Error(err);
})

Axios 的使用非常简单明了,但是如果每次在 Vue 组件中使用时,都要重复编写这些代码,既费时又容易出错。所以,我们可以将其封装成一个通用的请求方法:

Axios 请求封装

我们可以采用 Promise 这种异步编程的方式,将 Axios 请求封装成通用方法,然后统一对返回的结果进行处理。

import axios from 'axios';

axios.defaults.baseURL = '';
axios.defaults.headers.post['Content-Type'] = 'application/json';
axios.defaults.timeout = 5000;

// 请求拦截器
axios.interceptors.request.use(
  config => {
    // 将token添加到请求头中
    if (localStorage.getItem('accessToken')) {
      config.headers.Authorization = localStorage.getItem('accessToken');
    }
    return config;
  },
  error => {
    return Promise.reject(error);
  }
);

// 响应拦截器
axios.interceptors.response.use(
  response => {
    if (response.status === 200) {
      return Promise.resolve(response);
    } else {
      return Promise.reject(response);
    }
  },
  error => {
    if (error.response.status) {
      switch (error.response.status) {
        case 401:
          // token过期,跳转到登录页
          break;
        case 404:
          // 请求资源不存在
          break;
        default:
          // 其他错误提示
          break;
      }
      return Promise.reject(error.response);
    }
  }
)

export default function request(options) {
  return new Promise((resolve, reject) => {
    axios(options).then(res => {
      resolve(res.data);
    }).catch(error => {
      reject(error);
    })
  })
}

以上代码中,我们创建了一个 Axios 实例并设置其默认配置,同时也添加了请求和响应的拦截器。在封装的请求方法中,我们使用 Promise 来返回请求的结果。

  • 请求拦截器中,我们可以将 Token 添加到请求头中,也可在此统一对请求进行定制化处理。
  • 响应拦截器中,我们可以对响应结果进行特殊处理,如状态码错误的跳转,资源不存在的提示、或其他错误提示等。

请求方法使用

将 Axios 请求封装成通用方法后,我们就可以在 Vue 组件中使用它了,调用时只需要传递请求的基本参数即可:

import request from '@/utils/request';

export function fetchData() {
  return request({
    url: '/api/list',
    method: 'get'
  })
}

同样,支持 GET、POST、PUT、DELETE、PATCH 等 Http 方法的请求,只需在参数中指定不同的方法即可。

request({
  url: '/api/user',
  method: 'post',
  data: {
    username: 'admin',
    passWord: '123456'
  }
});

request({
  url: '/api/user',
  method: 'put',
  params: {
    id: 123
  },
  data: {
    username: 'admin',
    password: '123456'
  }
});

request({
  url: '/api/user',
  method: 'delete',
  params: {
    id: 123
  }
});

结语

本文通过 Axios 在 Vue 项目中的集成和封装,详细讲解了如何封装 Axios 请求方法。这种封装方式可以大大减少重复代码的编写量,提高开发效率,同时也便于对请求结果进行统一处理。在使用中,我们可以将其配置及拦截器按需调整、扩展,以满足不同的需求。

以上就是vue集成axios封装请求的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: vue集成axios封装请求

本文链接: https://www.lsjlt.com/news/217451.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue集成axios封装请求
    Vue 组件化的开发方式让我们的前端开发变得更加灵活、高效,而在这个过程中,与后端进行数据交互是不可避免的。而 Axios 是一个很好的数据请求框架,它提供了方便的API接口,使用简单、可靠、易于扩展等优点,于是我们选择把它集成到Vue项目...
    99+
    2023-05-24
  • vue如何封装axios请求
    这篇文章主要介绍“vue如何封装axios请求”,在日常操作中,相信很多人在vue如何封装axios请求问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue如何封装axios请求”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-04
  • 如何用vue封装axios请求
    其实vue封装axios是很简单的 首先 在src路径下建http文件夹 并且创建api.js env.js request.js 这三个文件 env.js文件 这个文件主要就是封...
    99+
    2022-11-12
  • vue中怎么封装axios请求
    这篇文章将为大家详细讲解有关vue中怎么封装axios请求,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。axiosAxios 是一个基于 promise 的...
    99+
    2022-10-19
  • 怎么用vue封装axios请求
    这篇文章将为大家详细讲解有关怎么用vue封装axios请求,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。其实vue封装axios是很简单的首先 在src路径下建http文件夹 并且创建api.js env...
    99+
    2023-06-15
  • vue项目中axios的封装请求
    目录一、简介二、封装后1.封装步骤2.封装目标3. 使用新的 axios 封装API4.使用封装后的axios一、简介 axios 是一个轻量的HTTP客户端,它基于 XMLHttp...
    99+
    2022-11-13
  • vue如何封装Axios的get、post请求
    目录封装Axios的get、post请求1.封装Axios基础配置2.封装网络请求3.vue中使用vue axios两种方法(封装和不封装)get请求和post请求没有封装的用法封中...
    99+
    2022-11-13
  • vue怎么封装Axios的get、post请求
    这篇“vue怎么封装Axios的get、post请求”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue怎么封装Axios的...
    99+
    2023-06-30
  • vue封装axios请求的方法是什么
    本文小编为大家详细介绍“vue封装axios请求的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue封装axios请求的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。其实vue封装axio...
    99+
    2023-07-04
  • vue中数据请求axios的封装和使用
    目录一、什么是axios二、下载方式三、拦截器四、请求的封装五、使用一、什么是axios      简单的来说,​Axios 是一个基于 promise...
    99+
    2022-11-13
  • vue项目使用axios封装request请求的过程
    目录一、封装axios二、封装api 函数三、页面中使用一、封装axios 1.src 目录中新建utils文件夹2.utils文件中建立request.js文件 request....
    99+
    2023-05-17
    vue axios封装request请求 vue axios封装请求
  • vue项目中axios封装请求的示例分析
    小编给大家分享一下vue项目中axios封装请求的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、简介axios 是一个轻量的HTTP客户端,它基于 XMLHttpRequest 服务来执行 HTTP 请求,支持...
    99+
    2023-06-29
  • vue中数据请求axios怎么封装和使用
    这篇文章主要介绍了vue中数据请求axios怎么封装和使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue中数据请求axios怎么封装和使用文章都会有所收获,下面我们一起来看看吧。一、什么是axios&nb...
    99+
    2023-06-30
  • 基于axios请求封装的vue应用实例代码
    目录什么是axios?axios的请求类型?axios封装默认的自定义配置配置的加载优先级拦截器get请求post请求delete请求put请求:更新整个对象资源patch...
    99+
    2022-11-12
  • axios请求二次封装之避免重复发送请求
    目录前言目的文件结构实现请求拦截响应拦截取消重复发送请求调用总结前言 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。 axios 是...
    99+
    2022-11-13
  • Vue项目中如何封装axios(统一管理http请求)
    1、需求说明 在使用Vue.js框架开发前端项目时,会经常发送ajax请求服务端接口,在开发过程中,需要对axios进一步封装,方便在项目中的使用。 2、Vue项目结构 在本地创...
    99+
    2022-11-12
  • vue3怎么解决axios请求封装问题
    vue3实战axios请求封装问题1、在src目录下创建http文件夹,在http文件夹下分别创建index.js、request.js、api.js2、index.js的作用:用于导出api.js定义的所有接口,代码如下export * ...
    99+
    2023-05-22
    Vue3 axios
  • Vue3中axios请求封装、请求拦截与相应拦截详解
    目录前言axios请求封装请求拦截和响应拦截接口的请求总结前言 对于三者放在Service.js中封装,方便使用 axios.create 的作用是创建一个新的 ...
    99+
    2023-05-19
    vue axios封装 axios请求封装 axios请求拦截
  • 在Vue-cli里基于axios封装复用请求的示例分析
    这篇文章给大家分享的是有关在Vue-cli里基于axios封装复用请求的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。安装只用安装一个axios就可以了。npm ...
    99+
    2022-10-19
  • Vue怎么封装axios
    今天小编给大家分享一下Vue怎么封装axios的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作