Vue.js教学第十七章:Vue 与后端交互(一),Axios 基础

news2025/6/4 10:13:54

Vue 与后端交互(一):Axios 基础

在现代前端开发中,Vue 应用通常需要与后端 API 进行数据交互,以实现动态数据的获取和提交。Axios 是一个基于 Promise 的 HTTP 客户端,广泛用于 Vue 项目中与后端进行通信。本文将深入讲解 Axios 的基本用法,包括如何通过 Axios 发送 GET、POST 等不同类型的 HTTP 请求,与后端 API 进行数据交互,以及 Axios 的配置选项和基本使用示例。


一、Axios 简介

(一)定义

Axios 是一个开源的 JavaScript 库,支持浏览器和 node.js,用于进行 HTTP 请求。它基于 Promise 设计,具有简洁易用的 API,支持请求和响应的拦截、请求取消、自动转换 JSON 数据等诸多实用功能。

(二)特点

  • 基于 Promise :Axios 的所有请求方法都返回 Promise 对象,使得异步操作可以链式调用,代码更加简洁易读。

  • 拦截请求和响应 :可以在请求发送前和响应返回后进行拦截处理,如添加认证头信息、处理全局的错误信息等。

  • 转换请求和响应数据 :自动转换 JSON 数据,也可以自定义数据转换规则。

  • 取消请求 :允许在请求发送后取消请求,节省资源。

  • 支持多种环境 :可以在浏览器和 node.js 中使用。

  • 简洁的 API :提供了易于使用的 API,简化了 HTTP 请求的发送和处理。


二、Axios 的安装

(一)通过 npm 安装

在 Vue 项目中,推荐通过 npm 安装 Axios:

npm install axios

(二)通过 CDN 引入

在 HTML 文件中通过 CDN 引入 Axios:

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

三、Axios 基本用法

(一)发送 GET 请求

GET 请求用于从服务器获取资源。

// 基本 GET 请求
axios.get('https://api.example.com/users')
  .then(response => {
    console.log(response.data); // 获取响应数据
  })
  .catch(error => {
    console.error('GET 请求失败:', error);
  });

// 带参数的 GET 请求
axios.get('https://api.example.com/users', {
    params: {
      page: 1,
      limit: 10
    }
  })
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error('带参数 GET 请求失败:', error);
  });

(二)发送 POST 请求

POST 请求用于向服务器提交数据,通常用于创建新资源。

// 基本 POST 请求
axios.post('https://api.example.com/users', {
    name: 'John Doe',
    email: 'john@example.com',
    age: 30
  })
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error('POST 请求失败:', error);
  });

// 设置请求头
axios.post('https://api.example.com/users', JSON.stringify({
    name: 'John Doe',
    email: 'john@example.com',
    age: 30
  }), {
    headers: {
      'Content-Type': 'application/json'
    }
  })
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error('带请求头 POST 请求失败:', error);
  });

(三)发送 PUT 请求

PUT 请求用于更新服务器上的现有资源。

axios.put('https://api.example.com/users/1', {

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2396223.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人工智能浪潮下,制造企业如何借力DeepSeek实现数字化转型?

一、DeepSeek技术概述 DeepSeek&#xff0c;凭借其强大的深度学习和自然语言处理能力&#xff0c;能够理解复杂问题并提供精准解决方案。它不仅能够作为学习、工作、生活的助手&#xff0c;满足用户在不同场景下的需求&#xff0c;更能在制造业中发挥重要作用。通过自然语言交…

从线性代数到线性回归——机器学习视角

真正不懂数学就能理解机器学习其实是个神话。我认为&#xff0c;AI 在商业世界可以不懂数学甚至不懂编程也能应用&#xff0c;但对于技术人员来说&#xff0c;一些基础数学是必须的。本文收集了我认为理解学习本质所必需的数学基础&#xff0c;至少在概念层面要掌握。毕竟&…

计算机网络相关发展以及常见性能指标

目录 一、因特网概述 1.1 基本概念 1.2 因特网发展的三个阶段 1.3 英特网服务提供者ISP 1.4 英特网的标准化工作 1.5 因特网的组成 1.6 简单总结 二、3种交换方式 2.1 电路交换&#xff08;Circuit Switching&#xff09; 2.2 分组交换&#xff08;Packet Switching&…

通义灵码:基于MCP的火车票小助手系统全流程设计与技术总结

具体操作步骤请访问&#xff1a;https://blog.csdn.net/ailuloo/article/details/148319336?spm1001.2014.3001.5502 前沿技术应用全景图 一、项目背景与需求分析 目标&#xff1a;基于12306 MCP接口&#xff0c;开发一款解决高峰出行&#xff08;春运/节假日&#xff09;痛…

为什么建立 TCP 连接时,初始序列号不固定?

主要原因有两个方面&#xff1a; 很大程度上避免历史报文被下一个相同四元组的 TCP 连接接收问题&#xff08;主要方面&#xff09;防止黑客伪造相同序列号的 TCP 报文被接收 接下来&#xff0c;详细说说第一点 假设每次建立 TCP 连接时&#xff0c;客户端和服务端的初始序列…

VBA数据库解决方案二十:Select表达式From区域Where条件Order by

《VBA数据库解决方案》教程&#xff08;版权10090845&#xff09;是我推出的第二套教程&#xff0c;目前已经是第二版修订了。这套教程定位于中级&#xff0c;是学完字典后的另一个专题讲解。数据库是数据处理的利器&#xff0c;教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法…

NX753NX756美光科技闪存NX784NX785

技术解读与产品特性 美光科技的NX系列闪存&#xff0c;包括NX753、NX756、NX784、NX785等型号&#xff0c;代表了当前存储技术的前沿水平。这些产品基于先进的NAND闪存技术&#xff0c;采用业界领先的3D TLC NAND技术&#xff0c;实现了高速的数据读写能力。3D TLC NAND技术通…

使用 pytesseract 构建一个简单 OCR demo

简介 pytesseract 库是 Google Tesseract OCR &#xff08;光学字符识别&#xff09;引擎的一个 Python 封装库&#xff0c;使用广泛且功能强大。 构建 使用 pytesseract 构建一个简单 OCR demo。 步骤一&#xff1a;安装必要的库 您需要在您的 Python 环境中安装 pytessera…

git 如何解决分支合并冲突(VS code可视化解决+gitLab网页解决)

1、定义&#xff1a;两个分支修改了同一文件的同一行代码&#xff0c;无法自动决定如何合并代码&#xff0c;需要人工干预的情况。&#xff08;假设A提交了文件a,此时B在未拉取代码的情况下&#xff0c;直接提交是会报错的&#xff0c;此时需要拉取之后再提交才会成功&#xff…

【CF】Day72——Codeforces Round 890 (Div. 2) CDE1 (二分答案 | 交互 + 分治 | ⭐树上背包)

C. To Become Max 题目&#xff1a; 思路&#xff1a; 二分挺好想的&#xff0c;但是check有点不好写 看到最大值&#xff0c;试试二分&#xff0c;如果 x 可以&#xff0c;那么 x - 1 肯定也可以&#xff0c;所以具有单调性&#xff0c;考虑二分 如何check呢&#xff1f;由于…

单片机寄存器的四种主要类型!

1. 控制寄存器&#xff08;Control Registers&#xff09;​​ ​​专业定义​​&#xff1a;用于配置硬件行为或触发操作的寄存器。 ​​大白话​​&#xff1a; 相当于设备的​​“控制面板”​​&#xff0c;通过写入特定值来​​开关功能​​或​​调整参数​​。例如&am…

智能嗅探AJAX触发:机器学习在动态渲染中的创新应用

一、问题描述&#xff1a;数据加载变“隐形”&#xff0c;采集举步维艰 随着Web技术不断发展&#xff0c;越来越多网站采用了AJAX、动态渲染等技术来加载数据。以今日头条&#xff08;https://www.toutiao.com&#xff09;为例&#xff0c;用户打开网页时并不会一次性加载所有…

【计算机网络】Linux下简单的UDP服务器(超详细)

套接字接口 我们把服务器封装成一个类&#xff0c;当我们定义出一个服务器对象后需要马上初始化服务器&#xff0c;而初始化服务器需要做的第一件事就是创建套接字。 &#x1f30e;socket函数 这是Linux中创建套接字的系统调用,函数原型如下: int socket(int domain, int typ…

华为OD机试真题——报文回路(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现

2025 A卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…

功能丰富的PDF处理免费软件推荐

软件介绍 今天给大家介绍一款超棒的PDF工具箱&#xff0c;它处理PDF文档的能力超强&#xff0c;而且是完全免费使用的&#xff0c;没有任何限制。 TinyTools&#xff08;PC&#xff09;这款软件&#xff0c;下载完成后即可直接打开使用。在使用过程中&#xff0c;操作完毕后&a…

Java补充(Java8新特性)(和IO都很重要)

一、Lambda表达式 1.1、为什么使用Lambda表达式 Lambda表达式起步案例 下面源码注释是传统写法&#xff0c;代码是简写表达式写法 import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.function.Consumer;/* * 学什么…

分布式流处理与消息传递——Kafka ISR(In-Sync Replicas)算法深度解析

Java Kafka ISR&#xff08;In-Sync Replicas&#xff09;算法深度解析 一、ISR核心原理 #mermaid-svg-OQtnaUGNQ9PMgbW0 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-OQtnaUGNQ9PMgbW0 .error-icon{fill:#55222…

OS10.【Linux】yum命令

目录 1.安装软件的几种方法 直接编译源代码,得到可执行程序 使用软件包管理器 2.yum yum list命令 参数解释 yum install命令 yum remove命令 下载链接存放的位置 扩展yum源 实验:安装sl小火车命令 sl命令的选项 方法1:man sl 方法2:读源代码 3.更新yum源 查看…

多模态大语言模型arxiv论文略读(102)

Chat2Layout: Interactive 3D Furniture Layout with a Multimodal LLM ➡️ 论文标题&#xff1a;Chat2Layout: Interactive 3D Furniture Layout with a Multimodal LLM ➡️ 论文作者&#xff1a;Can Wang, Hongliang Zhong, Menglei Chai, Mingming He, Dongdong Chen, Ji…

高端装备制造企业如何选择适配的项目管理系统提升项目执行效率?附选型案例

高端装备制造项目通常涉及多专业协同、长周期交付和高风险管控&#xff0c;因此系统需具备全生命周期管理能力。例如&#xff0c;北京奥博思公司出品的 PowerProject 项目管理系统就是一款非常适合制造企业使用的项目管理软件系统。 国内某大型半导体装备制造企业与奥博思软件达…