小工具知识网

当前位置: 首页 > 行业知识 > 3分钟让你学会axios在vue项目中的基本用法(建议收藏)

行业知识

3分钟让你学会axios在vue项目中的基本用法(建议收藏)

2026-11-01 13:16:31 来源:互联网转载
  • 2、响应拦截器

  • 3、取消拦截

  • 六、错误处理

  • 七、取消请求

  • 结语


    Axios简介

    ======================================================================

    axios框架全称(ajax – I/O – system):

    • 基于promise用于浏览器和node.js的http客户端,因此可以使用Promise API

      一、axios是干啥的

      ==========================================================================

      说到axios我们就不得不说下Ajax。在旧浏览器页面在向服务器请求数据时,因为返回的是整个页面的数据,页面都会强制刷新一下,这对于用户来讲并不是很友好。并且我们只是需要修改页面的部分数据,但是从服务器端发送的却是整个页面的数据,十分消耗网络资源。而我们只是需要修改页面的部分数据,也希望不刷新页面,因此异步网络请求就应运而生。

      Ajax(Asynchronous JavaScript and XML):

      异步网络请求。Ajax能够让页面无刷新的请求数据。

      实现ajax的方式有多种,如jQuery封装的ajax,原生的XMLHttpRequest,以及axios。但各种方式都有利弊:

      • 原生的XMLHttpRequest的配置和调用方式都很繁琐,实现异步请求十分麻烦

      • jQuery的ajax相对于原生的ajax是非常好用的,但是没有必要因为要用ajax异步网络请求而引用jQuery框架

        Axios(ajax i/o system):

        这不是一种新技术,本质上还是对原生XMLHttpRequest的封装,可用于浏览器和nodejs的HTTP客户端,只不过它是基于Promise的,符合最新的ES规范。具备以下特点:

        • 在浏览器中创建XMLHttpRequest请求

        • 在node.js中发送http请求

        • 支持Promise API

        • 拦截请求和响应

        • 转换请求和响应数据

        • 取消要求

        • 自动转换JSON数据

        • 客户端支持防止CSRF/XSRF(跨域请求伪造)

          二、安装使用

          =====================================================================

          安装有三种方式:

          npm安装

          npm install axios

          bower安装

          bower install axios

          通过cdn引入

          在vue项目的main.js文件中引入axios

          import axios from ‘axios’

          Vue.prototype.$axios = axios

          在组件中使用axios

          三、Axios请求方式

          ==========================================================================

          1、axios可以请求的方法:


          • get:获取数据,请求指定的信息,返回实体对象

          • post:向指定资源提交数据(例如表单提交或文件上传)

          • put:更新数据,从客户端向服务器传送的数据取代指定的文档的内容

          • patch:更新数据,是对put方法的补充,用来对已知资源进行局部更新

          • delete:请求服务器删除指定的数据

            2、get请求


            示例代码

            方法一

            //请求格式类似于 http://localhost:8080/goods.json?id=1

            this.$axios.get(‘/goods.json’,{

            params: {

            id:1

            }

            }).then(res=>{

            console.log(res.data);

            },err=>{

            console.log(err);

            })

            方法二

            this.$axios({

            method: ‘get’,

            url: ‘/goods.json’,

            params: {

            id:1

            }

            }).then(res=>{

            console.log(res.data);

            },err=>{

            console.log(err);

            })

            3、post请求


            post请求一般分为两种类型

            1.form-data 表单提交,图片上传、文件上传时用该类型比较多

            2. application/json 一般是用于 ajax 异步请求

            示例代码

            方法一

            this.$axios.post(‘/url’,{

            id:1

            }).then(res=>{

            console.log(res.data);

            },err=>{

            console.log(err);

            })

            方法二

            $axios({

            method: ‘post’,

            url: ‘/url’,

            data: {

            id:1

            }

            }).then(res=>{

            console.log(res.data);

            },err=>{

            console.log(err);

            })

            form-data请求

            let data = {

            //请求参数

            }

            let formdata = new FormData();

            for(let key in data){

            formdata.append(key,data[key]);

            }

            this.$axios.post(‘/goods.json’,formdata).then(res=>{

            console.log(res.data);

            },err=>{

            console.log(err);

            })

            4、put和patch请求


            示例代码

            put请求

            this.$axios.put(‘/url’,{

            id:1

            }).then(res=>{

            console.log(res.data);

            })

            patch请求

            this.$axios.patch(‘/url’,{

            id:1

            }).then(res=>{

            console.log(res.data);

            })

            5、delete请求


            示例代码

            参数以明文形式提交

            this.$axios.delete(‘/url’,{

            params: {

            id:1

            }

            }).then(res=>{

            console.log(res.data);

            })

            参数以封装对象的形式提交

            this.$axios.delete(‘/url’,{

            data: {

            id:1

            }

            }).then(res=>{

            console.log(res.data);

            })

            //方法二

            axios({

            method: ‘delete’,

            url: ‘/url’,

            params: { id:1 }, //以明文方式提交参数

            data: { id:1 } //以封装对象方式提交参数

            }).then(res=>{

            console.log(res.data);

            })

            6、并发请求


            并发请求:同时进行多个请求,并统一处理返回值

            示例代码

            this.$axios.all([

            this.$axios.get(‘/goods.json’),

            this.$axios.get(‘/classify.json’)

            ]).then(

            this.$axios.spread((goodsRes,classifyRes)=>{

            console.log(goodsRes.data);

            console.log(classifyRes.data);

            })

            )

            四、Axios实例

            ========================================================================

            1、创建axios实例


            示例代码

            自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

            深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

            因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

            既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

            由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

            如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)

            总结

            面试前要精心做好准备,简历上写的知识点和原理都需要准备好,项目上多想想难点和亮点,这是面试时能和别人不一样的地方。

            还有就是表现出自己的谦虚好学,以及对于未来持续进阶的规划,企业招人更偏爱稳定的人。

            万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。

            CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

            前端面试题汇总

            JavaScript

            前端资料汇总

            %以上前端开发知识点,真正体系化!**

            由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

            如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)

            [外链图片转存中…(img-fVgGD5H2-1712065058088)]

            总结

            面试前要精心做好准备,简历上写的知识点和原理都需要准备好,项目上多想想难点和亮点,这是面试时能和别人不一样的地方。

            还有就是表现出自己的谦虚好学,以及对于未来持续进阶的规划,企业招人更偏爱稳定的人。

            万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。

            CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

            前端面试题汇总

            JavaScript

            前端资料汇总

上一篇:矩阵转置求解揭秘,轻松掌握转置技巧!

下一篇:手机app连接云服务器失败