Vue3中Axios的使用-附完整代码

前言

首先介绍一下什么是axios

Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests

官方网站:Axios中文文档 | Axios中文网

目前官方最新版本1.8.4


一、Axios优势

1.简单易用

Axios提供了简洁一致的API,使得发送HTTP请求变得非常容易。无论是GET、POST、PUT还是DELETE等请求,都可以通过简洁的语法轻松实现

2.支持Promise

Axios基于Promise实现,使得我们可以使用更加现代化的异步编程方式。通过使用Promise,我们可以更好地处理异步请求,避免回调地狱和代码的混乱。

3.拦截器功能

Axios提供了请求和响应拦截器的功能,可以在请求发送前和响应返回后进行一些额外的处理。这使得我们能够在请求过程中进行一些自定义的操作,比如添加请求头、错误处理等。

4.浏览器和Node.js支持

Axios既可以在浏览器环境下运行,也可以在Node.js环境中使用。这使得我们可以在前后端开发中都能轻松使用同一套API,提高开发效率。

5.自动转换JSON数据

Axios可以自动转换请求和响应中的JSON数据,使得数据处理更加方便。例如,当我们发送一个POST请求时,Axios会自动将JavaScript对象转换为JSON字符串。

二、安装

我这里使用的编译器是VSCode 只需要将你的项目文件在集成终端打开输入安装指令即可

javascript 复制代码
npm install axios

下载完之后可以在 package.json中查看是否下载成功

三、使用步骤

1.创建文件夹

由于我们这里使用的是二次封装的写法。所以需要在src文件夹下创建一个API文件夹

在API文件夹中创建两个JS文件,一个名为api.js,另一个名为request.js

2.创建Axios对象

在api.js文件中编写以下代码

javascript 复制代码
//第一步导入Axios库
import axios from "axios";
//创建一个Axios对象
const request = axios.create({
    baseURL:"xxxxxxx",
    timeout: 5000 
})
export default request
  • baseURL:基础路径,默认是/ ,这里一般写的是后端的接口地址。如果是本地json数据的话,这里写的就是你Vue启动时候的默认地址。

  • timeout:请求超时,这里设置的是5000毫秒

  • export default:将request模块导出

3.封装请求方法

在request.js中编写以下代码

javascript 复制代码
//引入request模块
import request from "./api";
export function userlogin(data){
    return request({
        url:'xxxxxx',
        method:'xxxx',
        data:data
    })
}
  • url:后端方法接口,如果是本地json数据的话,这里写的就是你json文件的路径
  • method:请求方法。下面列表中是对于各种请求方法的介绍以即描述
  • data:向后端发送的数据。如果是GET方法的话,这里的配置项要变成params
序号 方法 描述
1 GET 从服务器获取资源。用于请求数据而不对数据进行更改。例如,从服务器获取网页、图片等。
2 POST 向服务器发送数据以创建新资源。常用于提交表单数据或上传文件。发送的数据包含在请求体中。
3 PUT 向服务器发送数据以更新现有资源。如果资源不存在,则创建新的资源。与 POST 不同,PUT 通常是幂等的,即多次执行相同的 PUT 请求不会产生不同的结果。
4 DELETE 从服务器删除指定的资源。请求中包含要删除的资源标识符。
5 PATCH 对资源进行部分修改。与 PUT 类似,但 PATCH 只更改部分数据而不是替换整个资源。
6 HEAD 类似于 GET,但服务器只返回响应的头部,不返回实际数据。用于检查资源的元数据(例如,检查资源是否存在,查看响应的头部信息)。
7 OPTIONS 返回服务器支持的 HTTP 方法。用于检查服务器支持哪些请求方法,通常用于跨域资源共享(CORS)的预检请求。
8 TRACE 回显服务器收到的请求,主要用于诊断。客户端可以查看请求在服务器中的处理路径。
9 CONNECT 建立一个到服务器的隧道,通常用于 HTTPS 连接。客户端可以通过该隧道发送加密的数据。

4.组件使用

在对应Vue组件中引入封装好的方法

javascript 复制代码
<script setup>
//引入封装好的方法
import { userlogin } from '@/API/request'
userlogin().then((res) =>{
   console.log(res.data)
  })

</script>
  • res.data:通过接口获取的数据

相关推荐
qq_124987075317 小时前
基于springboot的竞赛团队组建与管理系统的设计与实现(源码+论文+部署+安装)
java·vue.js·spring boot·后端·信息可视化·毕业设计·计算机毕业设计
可问春风_ren17 小时前
Vue3 入门详解:从基础到实战
开发语言·前端·javascript·vue.js·前端框架·ecmascript·edge浏览器
晚霞的不甘18 小时前
Flutter for OpenHarmony全面升级「今日运势」 应用的视觉与交互革新
前端·学习·flutter·前端框架·交互
想睡好18 小时前
ref和reactive
前端·javascript·vue.js
晚霞的不甘18 小时前
Flutter for OpenHarmony智能穿搭推荐:构建一个实用又美观的个性化衣橱助手
前端·经验分享·flutter·ui·前端框架
毕设十刻18 小时前
基于Vue的餐厅收银系统s6150(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
IT 行者18 小时前
前端框架的设计哲学:qiankun 与 MicroApp 的分野
前端框架·microapp·qinakun
xkxnq19 小时前
第四阶段:Vue 进阶与生态整合(第 58 天)(Vue 项目部署:打包、上线与服务器配置)
服务器·前端·vue.js
Code小翊19 小时前
Vue 3 核心语法速查
前端·javascript·vue.js
利刃大大21 小时前
【Vue】自定义指令directives && 指令钩子 && IntersectionObserver
前端·javascript·vue.js