Vue之axios

Vue——Axios Axios是一个基于Promise的HTTP客户端,适用于浏览器和Node.js环境。它支持多种请求方法,如GET、POST、PUT、DELETE等,并提供了丰富的配置选项,如拦截请求和响应、转换数据、取消请求、超时处理等。Axios的安装简单,通过npm即可完成。在实际项目中,Axios可以通过全局配置和按页面划分请求的方式进行封装,以提高代码的复用性和可维护性。此外,Axios还支持跨域请求的处理,可以通过后端配置或前端代理的方式解决跨域问题。 阅读详情

基于 Promise 的 HTTP 请求客户端,可同时在浏览器和 node.js 中使用。

引入

1、npm

npm install axios --save-dev

axios是不能够像vuex和vue-router一样注入各个字组件中的。所以不能在main.js中,是无效的:

import axios from 'axios';

new Vue ({
    el: 'app',
    axios
});

只能在需要Http请求的组件中导入

import axios from 'axios';
export default({
    mounted () {
        console.log(typeof(axios)); //function
    }
});

2、CDN

在main.js头部或者需要服务的组件中插入。

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

这里只是示例,URL有效性并未验证,请自行寻找。

请求类型

1、GET

2、POST

3、PUT

put查询的时候是按照路由的方式来的,而axios的params参数是作为查询的参数,会拼接为notes/?id=12123的形式,put需求的是notes/id所以url要自己拼接。因此params参数只适用于GET,POST,HEAD

4、PATCH

5、DELETE

axios({
    //删除的时候不加?id=
    url: 'http://localhost:9090/notes/' + note.id, 
    method: 'DELETE'
  })
  .then((res) => {
      console.log('删除成功');
    }, (res) => {
      console.log('删除失败');
    })
  .catch((res) => {
      console.log('抛出错误');
    });

6、HEAD

请求配置

{
  // `url` 是用于请求的服务器URL
  url: '/user',

  // `method` 是在发出请求时使用的请求方法
  method: 'get', // 默认

  // `baseURL` 会作为 `url`的前缀, 除非 `url` 是绝对路径. 
  // 设置baseURL以传递相对url是很方便的。
  // 对当前实例有效
  baseURL: 'https://some-domain.com/api/',

  // `transformRequest` 允许在发送到服务器之前对请求数据进行更改
  // 这只适用于请求方法的“PUT”、“POST”和“PATCH”
  // 数组中的最后一个函数必须返回一个字符串或一个ArrayBuffer
  transformRequest: [function (data) {
    // Do whatever you want to transform the data
    return data;
  }],

  // `transformResponse` 允许在响应的数据被创建前对它进行更改
  // 它将被传递到 then/catch
  transformResponse: [function (data) {
    // Do whatever you want to transform the data

    return data;
  }],

  // `headers` 是要发送的自定义消息头
  headers: {'X-Requested-With': 'XMLHttpRequest'},

  // `params` 是要用请求发送的URL参数
  //源码中拼接为?id=12345&
  params: {
    ID: 12345
  },

  // `paramsSerializer` 是一个可选的函数,用于序列化 `params`
  // (e.g. https://www.npmjs.com/package/qs, http://api.jquery.com/jquery.param/)
  paramsSerializer: function(params) {
    return Qs.stringify(params, {arrayFormat: 'brackets'})
  },

  // `data` 是作为请求体发送的数据
  // 只适用于请求方法: 'PUT', 'POST', and 'PATCH'
  // 当没有设置 `transformRequest` 时, 必须是一个字符串,ArrayBuffer或者一个哈希
  data: {
    firstName: 'Fred'
  },

  // `timeout` 指定请求超时前的毫秒数。
  // 如果请求的时间超过超时,则请求将被中止。
  timeout: 1000,

  // `withCredentials` 表示是否跨站点访问控制请求
  // 应该使用凭证来做
  withCredentials: false, // default

  // `adapter` 允许定制处理请求,使测试更容易。
  // 调用 `resolve` 或者 `reject` ,提供一个有效的响应 supply  (见 [response docs](#response-api)).
  adapter: function (resolve, reject, config) {
    /* ... */
  },

  // `auth` 表示应该使用HTTP基本身份验证,并提供凭证。
  // 这将设置一个授权标头,覆盖任何现有的
  // `Authorization` 你已经使用 `headers`自定义了头部.
  auth: {
    username: 'janedoe',
    password: 's00pers3cret'
  }

  // `responseType` 表示服务器将响应的数据类型
  // 可选项有 'arraybuffer', 'blob', 'document', 'json', 'text'
  responseType: 'json', // 默认

      // `xsrfCookieName` 是用于xsrf标记的cookie的名称
  xsrfCookieName: 'XSRF-TOKEN', // default

  // `xsrfHeaderName` 是携带xsrf令牌值的http头的名称
  xsrfHeaderName: 'X-XSRF-TOKEN', // default

  // `progress` 允许处理'POST' 和 'PUT uploads'的上传进度事件
  // 以及 'GET' 下载
  progress: function(progressEvent) {
    // Do whatever you want with the native progress event
  }
}

响应的数据结构

响应的数据包括下面的信息:

{
  // `data` 是服务器提供的响应
  data: {},

  // `status` 是来自服务器响应的HTTP状态代码
  status: 200,

  // `statusText` 是来自服务器响应的HTTP状态消息
  statusText: 'OK',

  // `headers` 服务器响应的头
  headers: {},

  // `config` 是为axios提供的请求配置信息
  config: {}
}

二级标题

三级标题

四级标题

注:

Vue 中 axios 的超详细介绍 Axios 是一个基于 promise 的 HTTP 库,可以用来发送网络请求。它可以在浏览器和 node.js 中使用,本质上是对原生 XMLHttpRequest 的封装,符合最新的 ES 规范,支持 Promise API,能够拦截请求和响应,转换请求和响应数据,取消请求,自动转换 JSON 数据等。在 Vue 项目中使用 axios 发送网络请求,可以大大提高开发效率和代码的可维护性。通过封装 axios 和配置代理服务器,可以解决跨域问题,并且使代码更加简洁和复用性更高。 阅读详情

相关推荐

vue 常用的插件的快速安装与卸载

vue 常用的插件的快速安装与卸载,如前端框架element-ui,交互axios,储存用户信息js-cookie,汉化vue-i18n

Vue3——Axios(网络请求库)

axios可以在浏览器和node里面用原生的问题:无法在node里使用,fetch是在浏览器里使用的。(但是原生可以帮助我们理解。

Tommy__li的博客 1万+

Vue中 axios delete请求参数操作

主要介绍了Vue中 axios delete请求参数操作,具有很好的参考价值,希望对大家有所 帮助。一起跟随小编过来看看吧

vue---Axios网络请求

在网页中看到控制台显示参数缺失,请传递完整参数,此时参数是对的,出现这种问题是因为网络请求接收参数的方式并不是对象类型,而是一个字符串类型,那么这个时候就需要做一个数据的转换。因为挂载全局是把axios挂载到了全局,给它起了新的名字叫$axios,所以写的时候,直接读$axios就行了。在vue当中使用比较方便的网络请求,Axios是一个基于promise的网络请求库,Axios的应用是需要单独安装的。1、在终端输入cnpm install --save axios,库比较小,安装比较快。

cmHuney的博客 1209

基于Q-learning的无人机三维路径规划(含完整C++代码)

基于Q-learning的无人机三维路径规划(含完整C++代码)

weixin_54186646的博客 1万+

学习stm32H7之路开始(STM32H7系列1) 前期准备,HAL库框架

2020.01.07 几个重要的参考网址 1.电子工程世界网 http://tags.eeworld.com.cn/tags/STM32H7 链接: link. 2.转:https://blog.youkuaiyun.com/simon223/article/list/2?t=1 链接: link. ———————————————— 版权声明:本文为优快云博主「Simon223」的原创文章,遵循 CC 4....

kengkengkeng963的博客 3408

Vue 网络请求框架 axios 使用教程

前期回顾 1. Vue 学习入门指南 2. Vue 入门环境搭建 公众号:代码集中营 每周分享技术文章、优质软件资源 axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,网络请求框架。 支持的浏览器: 一、安装axios 打开vs code ,导入我们之前创建好的vue项目 helloword ,打开终端,敲入下面的安装命令: $ npm install axios --save 安装完成后,你就好在package.json --》dependencies 里

代码君 1065

用MFRC522+STM32打造智能门禁:从硬件选型到云端控制全流程

本文详细介绍了基于STM32微控制器和MFRC522射频模块构建智能门禁系统的完整流程。从硬件选型、电路设计、底层驱动开发,到系统软件架构与状态机设计,并最终实现通过ESP8266模块接入云端平台(如OneNET)进行远程控制和数据可视化。项目深入探讨了MFRC522的SPI通信、卡片操作流程、天线调试以及云端MQTT集成等关键技术,为嵌入式开发者提供了一个从本地感知到云端管控的物联网项目实战参考。

raspberrypi5的博客 741

【Vue axios】vue中如何通过axios异步请求后端接口

在现代Web开发中,前端与后端的数据交互至关重要。Vue.js作为一款流行的前端框架,结合Axios库能够高效地实现HTTP请求与数据处理。本文将详细讲解如何在Vue 3中使用Axios,并通过实际案例展示其用法。

景天科技苑 6万+

Shopee 虾皮API接口:商品详情采集的实践

随着电商行业的蓬勃发展,数据采集和分析在商业决策中扮演着越来越重要的角色。Shopee作为东南亚领先的电商平台,拥有大量的商品数据。通过Shopee的API接口,我们可以方便地获取商品详情,为数据分析和市场研究提供有力支持。本文将介绍如何使用Shopee API接口采集商品详情,并分享一些实践技巧。提供了丰富的数据接口,包括商品详情、店铺信息、订单数据等。通过API接口,开发者可以轻松地获取Shopee平台上的数据,进行进一步的处理和分析。Shopee API接口:商品详情采集的实践与技巧。

An4480的博客 1886

Lumerical官方案例、FDTD时域有限差分法仿真学习(十八)——Y分支粒子群算法优化

组件优化是任何致力于开发高性能光子器件的设计过程的关键步骤。 此绝缘体上硅 Y 分支示例演示了适用于任意优化例程的通用组件形状参数化方法。 此示例中的算法是 Lumerical 的内置粒子群优化 (PSO),可通过用户界面轻松设置。 此外,建议的优化过程展示了如何将 varFDTD 与全 3D FDTD 求解器相结合,以显着减少优化时间,同时保持高精度。

weixin_45719141的博客 1万+

Vuejs通过Axios请求数据

Vuejs通过Axios请求数据 我们来搭建api接口调用工具Axios。Vue本身是不支持ajax调用的,如果你需要这些功能就需要安装对应的工具。 支持ajax请求的工具很多,像superagent和axios。今天我们用的就是axios,因为听说最近网上大部分的教程书籍都使用的是axios,本身axios这个工具就已经做了很好的优化和封装,但是在使用时,还是比较繁琐,所以我们来重新封装一下。 ...

SanPhantom的博客 5万+

大模型训练(1):流水线并行

Gpipe的方法是,在训练时计算和运用的是micro-batch里的均值和方差,但同时持续追踪全部mini-batch的移动平均和方差,以便在测试阶段进行使用。流水线并行的核心思想是:在模型并行的基础上,进一步引入数据并行的办法,即把原先的数据再划分成若干个更小的batch,分批送入GPU进行训练,算一部分就让下一个GPU动起来。从实验结果可知,在关掉NVlinks的情况下,Gpipe一样也能实现随着GPU数量的增加,训练速度也增加的效果。前文说过,随着模型的增加,每块GPU中存储的中间结果也会越大。

呆呆象呆呆的博客 1969

vue 中使用axios的总结

1.介绍axios 我就不介绍了,直接上中文文档链接http://www.axios-js.com/ 框架整合vue-axios nuxtjs-axiosreact-axios 2.在vue中使用的方式有两种 第一种,(axios 特别的方便) npm install axios 第二种(vue-axios 基于vuejs 的轻度封装,很方便) 0.1,安装vue...

技术分享 2920

TJA1445/TJA1465 CAN收发器硬件设计与软件配置实战指南

控制器局域网(CAN)总线是汽车电子和工业控制领域实现电子控制单元(ECU)间可靠通信的核心技术。其工作原理是将数字信号转换为差分信号进行抗干扰传输,技术价值在于构建稳定、高效的分布式实时控制系统。随着汽车电子架构向域集中式演进,对CAN总线的通信速率、网络复杂度和静态功耗提出了更高要求,这催生了支持CAN FD协议和智能电源管理的新一代高速CAN收发器。在车载网关、域控制器及工业网络节点等应用场景中,NXP的TJA1445和TJA1465系列收发器凭借其部分组网(Partial Networking)和选

weixin_29655587的博客 407

Codex 100个真实案例 - 全系列总结与Codex最佳实践全解析

历经100个案例的淬炼,我们终于来到了终点!本篇是整个系列的压轴之作——全面回顾100个案例的分类统计、提炼Codex使用的核心技巧和最佳实践、总结Prompt工程的精华要点、剖析常见错误及解决方案、展望AI编程的未来趋势,并为不同水平的读者规划学习路径。这不仅是一篇总结,更是一本Codex实战手册!

yueyeguzhuo的专栏 135

vue中axios的二次封装——vue 封装axios详细步骤

通常我们的项目会越做越大,页面也会越来越多,如果页面非常的少,直接用axios也没有什么大的影响,那页面组件多了起来,上百个接口呢,这个时候后端改了接口,多加了一个参数什么的呢?那就只有找到那个页面,进去修改,整个过程很繁琐,不易于项目的维护和迭代。这个时候如果我们统一的区管理接口,需要修改某一个接口的时候直接在api里修改对应的请求,是不是很方便呢?因为我们用的最多的还是get post请求,我们就可以针对封装。

Vivien_CC的博客 3万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

axios和vue-axios区别及vue-axios使用

一、axios和vue-axios区别 1、axios是基于promise的HTTP库,可以使用在浏览器和node.js中,它不是vue的第三方插件 2、使用的时候不能像vue的插件(如:Vue-Router、VueX等)通过Vue.use()安装插件,需要在原型上进行绑定:Vue.prototype.$axios = axios; 3、vue-axios是axios集成到Vue.js的小包装器,...

千里之行,始于足下! 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【Axios】如何在Vue中使用Axios请求拦截器

在Vue项目中,Axios是一个非常流行的HTTP客户端,用于发送请求和接收响应。Axios拦截器是Axios的一个强大功能,它允许你在请求发送之前和响应返回之后对请求和响应进行处理和拦截。通过拦截器,你可以添加请求头、处理请求参数、处理错误等。

景天科技苑 6万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Vue3中使用axios

此时package.json里面就多了axios依赖。

2301_80412275的博客 1万+

VueJS如何使用axios.post()或者axios.get()请求下载文件、音频、视频?并且显示下载进度,后端是SpringBoot

前端如何使用axios下载文件呢?最近遇到了前端下载音频及文件的功能,记录下,因为通过传统的window.location.href=xxx链接下载不能携带Token参数,后端无法验证请求放行,所以就用了axios。前端下载需要注意的是axios.interceptors.request的拦截器不要设置响应超时设置,不然由于网速慢,文件还没下载完就中断了。 下面是axios的HTTP请求的统一封...

QC班长的博客 3476

axios vue 动态date_在vuejs 中使用axios不能获取属性data的解决方法

axios中的this.labels,未被定义data(){return{labels:null,}},fetchData() {axios.get('/static/api/form.json').then(function(response) {this.labels =response.dataconsole.log("axios=="+JSON.stringify(response.dat...

weixin_39853892的博客 357

Vue基础入门讲义(五)-异步请求axios

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

专业的计算机毕业设计指南 928

vue3 axios使用配置

vue3 axios使用配置 安装axios 和 qs cnpm install axios -S cnpm install qs -S 在项目中创建axios.js(尾汁根据自己喜好而定) axios.js import axios from "axios"; import qs from "qs"; import {ElMessageBox} from 'element-plus'; // axios.defaults.baseURL = '' //正式 // axios.defaults.

superKM的博客 1万+

网络请求工具之axios,vue-resouce,fetch

网络请求工具之axios,vue-resouce,fetch 文章目录网络请求工具之axios,vue-resouce,fetch一.背景1.angularjs2.vuejs3.react二.请求工具1.vue-resource1.1 安装1.2 使用1.3 常用api2.fetch2.1.安装2.2.使用3.axios3.1 安装3.2使用3.3 axios特点3.4 axios响应对象3.5 axios 请求对象3.6 axios 请求拦截3.7 axios 响应拦截3.8 axios在vue中全局使用

liuqiao0327的专栏 1754

Vue入门到上手(4)—— VueJs 填坑日记之搭建Axios接口请求工具

Vue入门到上手(4)—— VueJs 填坑日记之搭建Axios接口请求工具 上一章,我们认识了项目的目录结构,以及对项目的目录结构做了一些调整,已经能把项目重新跑起来了。今天我们来搭建api接口调用工具Axios。Vue本身是不支持ajax调用的,如果你需要这些功能就需要安装对应的工具。 支持ajax请求的工具很多,像superagent和axios。今天我们用的就是axios,因为听说最近网上大部分的教程书籍都使用的是axios,本身axios这个工具就已经做了很好的优化和封装,但是在使用时,还是比较繁

与其终的知识小窝 380
上一篇: Vue之Vue-router
下一篇: Github
「已注销」
博客等级 码龄15年 15粉丝 123原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值