Axios

axios Axios 拦截器和 Vue 路由守卫作用于前端,分别针对 HTTP 请求和路由导航;此时就向网址http://forum.atguigu.cn/api/rand.qinghua发送了一个post请求,并且请求体中有name参数和format参数,url参数有format。在使用axios之前因为它是第三方库,所以需要进行npm i axios(下载),之后才可以进行使用这里就不演示了。axios:是基于ajax封装的一个对象,相对于ajax来说axios有更加强大的API以及更加简化的请求方式。 阅读详情

简介

Axios 是一个流行的 JavaScript 库,用于处理 HTTP 请求。它基于 Promise,能够轻松地处理异步操作并从 REST API 获取数据。Axios 可以在浏览器和 Node.js 环境中使用,提供了许多实用功能,例如拦截请求和响应、转换请求和响应数据以及取消请求等。

安装和使用

要使用 Axios,首先需要安装它。如果您使用的是 npm(Node.js 包管理器),可以通过以下命令安装:

npm install axios

安装完毕后,可以在 JavaScript 项目中引入并使用 Axios。以下是一个简单的示例,展示如何使用 Axios 发送 GET 请求:

const axios = require('axios');

axios.get('https://api.example.com/data')
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error('Error fetching data:', error);
  });

Axios 支持所有常见的 HTTP 方法,例如 GET、POST、PUT、DELETE 等,可以根据需要选择相应的方法

发送 POST 请求
const axios = require('axios');

const postData = {
  title: 'Example title',
  content: 'Example content'
};

axios.post('https://api.example.com/posts', postData)
  .then(response => {
    console.log('Data posted successfully:', response.data);
  })
  .catch(error => {
    console.error('Error posting data:', error);
  });
自定义请求配置
const axios = require('axios');

axios({
  method: 'get',
  url: 'https://api.example.com/data',
  headers: {
    'Authorization': 'Bearer your_token_here',
    'Content-Type': 'application/json'
  },
  timeout: 3000 // 3 秒超时
})
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error('Error fetching data:', error);
  });
请求拦截器
const axios = require('axios');

// 添加请求拦截器
axios.interceptors.request.use(config => {
  console.log('Request:', config);
  // 在发送请求之前做些什么
  return config;
}, error => {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
axios.interceptors.response.use(response => {
  console.log('Response:', response);
  // 对响应数据做点什么
  return response;
}, error => {
  // 对响应错误做点什么
  return Promise.reject(error);
});

这里列举一些实例,具体可以参考官方

Vue3 中引入 Axios

组件中引入
<template>
  <div>
    <ul v-if="items.length">
      <li v-for="item in items" :key="item.id">
        {{ item.name }}
      </li>
    </ul>
    <p v-else>加载中...</p>
  </div>
</template>

<script>
import axios from 'axios';

export default {
  data() {
    return {
      items: []
    };
  },
  async created() {
    try {
      const response = await axios.get('https://api.example.com/items');
      this.items = response.data;
    } catch (error) {
      console.error('Error fetching items:', error);
    }
  }
};
</script>
全局引入

首先在项目的主文件(通常是 main.js 或 main.ts)中,导入 Vue、Axios 和创建 Vue 应用的方法

import { createApp } from 'vue';
import App from './App.vue';
import axios from 'axios';

然后创建 Vue 应用并将 Axios 附加到应用的 config.globalProperties 上。这样就可以在任何 Vue 组件中通过 this.$http 使用它

const app = createApp(App);
app.config.globalProperties.$http = axios;

您还可以为 Axios 设置全局配置(可选),例如默认的基本 URL、超时时间等

axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.timeout = 3000; // 3 秒超时

最后,将应用挂载到页面上的 DOM 元素

app.mount('#app');

完成上述步骤后,main.js(或 main.ts)文件应如下所示:

import { createApp } from 'vue';
import App from './App.vue';
import axios from 'axios';

axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.timeout = 3000;

const app = createApp(App);
app.config.globalProperties.$http = axios;
app.mount('#app');

现在,可以在 Vue 3 组件中直接使用 this.$http 访问 Axios,而无需单独导入。以下是一个在 Vue 3 组件中使用全局 Axios 实例的示例:

<template>
  <div>
    <ul v-if="items.length">
      <li v-for="item in items" :key="item.id">
        {{ item.name }}
      </li>
    </ul>
    <p v-else>加载中...</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      items: []
    };
  },
  async created() {
    try {
      const response = await this.$http.get('/items');
      this.items = response.data;
    } catch (error) {
      console.error('Error fetching items:', error);
    }
  }
};
</script>
Axios调用WSDL进行Webservice请求 说明:Axios2发送wsdl的webservice请求时,参数名默认是arg0、arg1、、、,不知道如何修改,所以改用了Axios1 package com.utils; import com.pojo.RequestParam; import org.apache.axis.client.Call; import org.apache.axis.client.Service; imp... 阅读详情

相关推荐

CMakeTestCCompiler.cmake错误解决

CMakeTestCCompiler.cmake错误解决欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 最近编译项目的时候,遇到一个cmake的错误,具体错误信息如下: /path-to-pr

昨夜星辰的博客 2万+

vue学习日志24 -axios

Axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js。易用性:简单的 API 使得发送 HTTP 请求变得非常方便,无论是 GET、POST、PUT、DELETE 等请求类型都能轻松处理。Promise 支持:利用 Promise 机制,可以方便地处理异步请求,通过.then()和.catch()来处理请求成功和失败的情况。拦截器:提供请求拦截器和响应拦截器,可在请求发送前和响应接收后进行统一的处理,如添加请求头、处理错误等。跨浏览器支持。

m0_72056325的博客 1181

STM32F103跑LVGL,用DMA加速刷屏,800*480大屏也能丝滑

本文详细介绍了如何在STM32F103芯片上通过DMA加速和内存优化,实现800*480大屏的LVGL流畅运行。通过FSMC+DMA硬件架构优化、双缓冲机制和LVGL参数调优,显著提升了界面刷新率和响应速度,适用于嵌入式GUI开发中的高性能需求场景。

weixin_30357231的博客 376

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

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

景天科技苑 6万+

Apollo MPC横纵向耦合控制学习笔记

Apollo MPC横纵向控制原理学习笔记

weixin_39199083的博客 1万+

衡山派Luban-Lite系统SDIO无线网络配置实战:以D133CBV-QFN88开发板与RTL8189模组为例

本文详细介绍了在衡山派D133CBV-QFN88开发板上,为Luban-Lite系统配置SDIO无线网络的完整实战流程。通过配置SDMC接口、RTL8189 Wi-Fi驱动、lwIP协议栈及内核参数,并解决编译分区问题,最终实现Wi-Fi网络连接与测试,为嵌入式设备联网提供清晰指导。

weixin_35677363的博客 267

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

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

景天科技苑 6万+

微软登录OAuth 2.0授权流程

OAuth 2.0是一个关于授权的开放网络标准,它允许第三方应用获取用户数据,是目前最流行的授权机制。微软身份平台支持OAuth 2.0授权码流程,使得客户端应用程序能够获得对受保护资源(如网络API)的授权访问。这一流程在保障用户数据安全的前提下,实现了应用的便捷登录与数据共享。当用户在一个支持OAuth 2.0的应用上,希望使用微软账号进行登录时,OAuth 2.0授权流程即被触发。

qq_36569837的博客 4086

axios安装 使用及如何解决‘axios  is not defined’

安装axios 1、使用npm $ npm install axios 2、使用 bower: $ bower install axios 3、使用 cdn: <script src="https://unpkg.com/axios/dist/axios.min.js"></script> 我用的npm,说说我在使用axios中踩的坑。 很多教程都是...

yytIcon的博客 5万+

从Safety Manual到系统安全概念

本文系统阐述了构建功能安全"证据链"的工程化方法论,核心要点包括:1)建立"风险→对策→验证→证据"闭环链条;2)SafetyManual和FMEDA作为关键证据支撑点,前者界定系统安全边界,后者量化诊断覆盖率;3)通过四步法继承芯片安全机制并扩展至系统级;4)形成"设计-分析-验证"三维闭环体系,包括安全目标、技术实现和验证矩阵;5)强调证据链闭环对安全认证和OEM认可的重要性。该方法论实现了从理论要求到工程实践的完整转化,确保安全设计可验证、可

VehSwHwDeveloper的博客 721

基于STM32L4XX 、HAL库的ATD5984步进电机驱动器驱动程序应用设计

一、简介: ATD5984是一款内部集成了译码器的微特步进电机 驱动器,能使双极步进电机以全、半、1/4、/1/8、1/16 和1/32步进模式工作。步进模式由逻辑输入管脚MSx选 择。其输出驱动能力达到28V±1.6A。 译码器是ATD5984易于使用的关键,通过STEP管脚 输入一个脉冲就可以使电机完成一次步进,省去了相序 表,高频控制线及复杂的编程接口,使其更适于没有复 杂的微处理器或微处理器负担过重的场合。 在步进操作期间,ATD5984的内部电路可以自动

PP_Cottage的博客 406

Axios 源码解析:axios 与 Axios 的关系

Axios 源码中,Axios 是核心构造函数,axios 则是通过 bind 与 extend 改造出的函数式实例。bind 将 request 的 this 固定指向 Axios 实例,确保能访问 defaults 与 interceptors,是axios能够通过 axios(config) 直接调用;extend 将 get、post 等原型方法拷贝到 axios 上,支持 axios.get(url) 的链式风格。两种方式底层均收敛于 request。

2302_79490294的博客 1138

搞定ESD(二):ESD干扰机理分析

大家好,我是记得诚。上文介绍了ESD的基本知识,对ESD的测试标准进行了解析,包括静电发生器的介绍,实验布置要求,静电放电实验的实施及判定等内容。本文主要介绍ESD的干扰机理。

记得诚 4297

axios的使用总结

Axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js。在 Vue 项目中,它主要用于发送 HTTP 请求来获取数据(如从 API 获取数据)或者提交数据(如用户登录、注册等表单数据)。

优快云qjn的博客 4918

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

什么是axios?怎么使用axios封装Ajax?

Axios 是一个基于 Promise 的 HTTP 客户端,它可以在浏览器和 Node.js 环境中使用。Axios 提供了简单易用的 API,用于执行各种 HTTP 请求操作,如 GET、POST、PUT、DELETE 等。基于 Promise:Axios 的 API 设计完全基于 Promise,这使得它能够很好地与 async/await 语法结合使用,从而简化了异步操作的处理。请求和响应的拦截器:Axios 支持请求和响应的拦截器,允许你在请求发送前或响应接收后对其进行处理。

上官花雨滴博客!!! 2169

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

axios和Axios的关系(源码分析)

你知道axios,但是你知道什么是“小axios”吗,理解小axios

qq_56966124的博客 1655

温度PID控制PLC程序

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

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万+

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万+

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

axios、axios二次封装、api解耦

本文章主要讲解项目中axios的封装、解耦问题,这一块知识点是必须拿下的。

casually的博客 2857

AXIOS

json-server 可以让前端人员不用去编写后端的代码,就能在本地搭建一个 json 服务,可用于测试一些业务逻辑,便于调试调用。在前后端分离的开发模式下前端使用 json-server 模拟数据接口, 这时候 后端接口还没有开发出来, 前端又需要数据进行开发,这种情况下就需要前端先行模拟数据, 等后端接口写好进行 targetUrl 进行替换。

weixin_73111027的博客 1288

axios使用及封装

axios跨域及封装 1、安装 npm install axios --save 2、main.js引用 import axios from 'axios'; 3、axios基本用法 function get(){ //axios.get('http://localhost:3000/post?id=1') axios({ url:'/posts', param:{ id:1 } }) .then(r

Weightlessly的博客 2579

axios快速入门

get:获取数据,请求指定的信息,返回实体对象post:向指定资源提交数据(例如表单提交或文件上传)put:更新数据,从客户端向服务器传送的数据取代指定的文档的内容patch:更新数据,是对put方法的补充,用来对已知资源进行局部更新delete:请求服务器删除指定的数据。

qq_62377885的博客 2108
上一篇: npm 代理
下一篇: vscode终端 光标变粗 ins键也不能切换
e5pool
博客等级 码龄5年 580粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值