企业培训笔记:axios 发送 ajax 请求

文章目录


axios 简介

axios 是基于 Promise 的HTTP客户端,用于浏览器和 Node.js,是现代前端开发中最流行的请求库之一。

核心特性

  1. 浏览器与 Node.js 通用

    • 浏览器端基于 XMLHttpRequest,Node.js 端基于 http 模块。
  2. Promise API

    • 支持 async/await 语法,避免回调地狱:

      javascript 复制代码
      const response = await axios.get('/api/data');
  3. 拦截器

    • 可全局拦截请求和响应(如添加认证头、统一错误处理):

      javascript 复制代码
      axios.interceptors.request.use(config => {
        config.headers.Authorization = 'Bearer token';
        return config;
      });
  4. 请求取消

    • 使用 AbortController 取消未完成的请求:

      javascript 复制代码
      const controller = new AbortController();
      axios.get('/api/data', { signal: controller.signal });
      controller.abort(); // 取消请求
  5. 自动转换 JSON

    • 响应数据自动解析为 JSON,请求数据自动序列化为 JSON。
  6. 拦截错误处理

    • 统一处理 HTTP 错误状态码(如 401、500):

      javascript 复制代码
      axios.interceptors.response.use(
        response => response,
        error => {
          if (error.response.status === 401) {
            // 处理认证失败
          }
        }
      );

典型应用场景

  • 前后端数据交互(如获取用户信息、提交表单)。
  • 与 REST API 通信
  • 实时数据更新(如轮询服务器状态)。

一,Vue工程中安装axios

1,单击【Terminal】按钮,打开命令行窗口------输入:【npm Install axios】------单击【Enter】键安装axios。

2,在项目工程目录中查看安装好的axios。

二,编写app.vue

vue 复制代码
<template>
  <div id="app"> <!-- 添加根元素 -->
    <h1>vue工程</h1>
    <router-view/>
  </div>
</template>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}

nav {
  padding: 30px;
}

nav a {
  font-weight: bold;
  color: #2c3e50;
}

nav a.router-link-exact-active {
  color: #42b983;
}
</style>

三,编写HomeView.vue

vue 复制代码
<template>
  <button @click="sendAjax">发送请求</button>
</template>

<script setup>

import axios from "axios";
/*定义函数向后台发送ajax请求*/
function sendAjax(){
  axios.get("http://localhost:8081/hello?name=zhangsan")
      .then((response)=>{ //回调函数在前端处理后台服务器响应的结果
        console.log(response);
        console.log(response.data); //获得服务器响应数据
      })
      .catch((error)=>{ //如果发生异常,执行该函数,捕获异常
        console.log(error);
      });
}
</script>

四,Idea打开后台项目

1,选择【File】------【Open】。

2,选择创建好的后台项目,单击【OK】按钮,打开项目。

3,单击【New Windows】,以新窗口的形式打开这个项目,避免关闭先前打开的Vue项目。

4,如下图,项目成功打开。

五,创建HelloController

1,右击【Controller】包------选择【New】------单击【Java Class】。

2,输入类名【HelloController】------单击【Enter】键,创建类。

3,编辑HelloController的代码。

java 复制代码
package net.army.controller;

import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 功能:测试接收客户端请求
 * 日期:2025年07月03日
 * 作者:梁辰兴
 */
@RestController
public class HelloController {
    // 处理客户端请求
    @RequestMapping("/sayHello")
    @CrossOrigin //解决跨域问题
    public String hello(String name){
        // 将name输出到控制台
        System.out.println("Hello:"+name);
        // 将name返回给客户端
        return "Hello:"+name;
    }
}

六,配置web访问端口

将端口号更改为8081

properties 复制代码
# 应用服务 WEB 访问端口
server.port=8081

七,运行项目,查看效果

(一)运行后端SpringBoot项目

1,单击绿色运行按钮,选择运行方式。

2,单击【Run 'SpringBootMyBatisDay...'】,运行项目。

3,成功运行界面效果图。

(二)运行前端Vue3项目

1,单击【serve】按钮,运行项目。

2,成功运行效果图。

(三)查看效果

1. 浏览器查看

1,单击地址:http://localhost:8080/,进入前端页面;或者复制该地址,粘贴到浏览器的地址栏,按回车键,打开页面。

2,在浏览器界面,按下F12键,启动开发者模式,单击【控制台】打开控制台界面。

3,单击界面中的【发送请求】按钮------查看控制台输出的信息。

2. 后端控制台查看

1,打开后端的项目的Idea窗口,单击【Run】按钮,打开运行窗口。

2,查看接收到前端发过来的请求内容,zhangsan

相关推荐
Nan_Shu_61412 小时前
Web前端面试题(2)
前端
知识分享小能手12 小时前
React学习教程,从入门到精通,React 组件核心语法知识点详解(类组件体系)(19)
前端·javascript·vue.js·学习·react.js·react·anti-design-vue
蚂蚁RichLab前端团队13 小时前
🚀🚀🚀 RichLab - 花呗前端团队招贤纳士 - 【转岗/内推/社招】
前端·javascript·人工智能
周周记笔记13 小时前
学习笔记:第一个Python程序
笔记·学习
丑小鸭是白天鹅13 小时前
Kotlin协程详细笔记之切线程和挂起函数
开发语言·笔记·kotlin
潘达斯奈基~13 小时前
《大数据之路1》笔记2:数据模型
大数据·笔记
孩子 你要相信光13 小时前
css之一个元素可以同时应用多个动画效果
前端·css
huangql52013 小时前
npm 发布流程——从创建组件到发布到 npm 仓库
前端·npm·node.js
..过云雨13 小时前
05.【Linux系统编程】进程(冯诺依曼体系结构、进程概念、进程状态(注意僵尸和孤儿)、进程优先级、进程切换和调度)
linux·笔记·学习
咸甜适中14 小时前
rust语言 (1.88) egui (0.32.2) 学习笔记(逐行注释)(二十八)使用图片控件显示图片
笔记·学习·rust·egui