个人技术博客——Axios的使用总结

222200325郑晓鹏 2024-12-20 21:44:46
这个作业属于哪个课程FZU_SE_teacherW_4
这个作业要求在哪里软件工程实践总结&个人技术博客
这个作业的目标个人技术总结
其他参考文献构建之法

目录

  • 技术概述
  • 技术详述
  • Axios的引入和安装
  • 使用Axios发送请求
  • 创建Axios
  • 使用async/await简化异步请求
  • 流程图
  • 遇到的问题和解决过程
  • 总结
  • 参考文献

技术概述

Axios是一个基于Promise的HTTP客户端,用于浏览器和Node.js环境发送HTTP请求
它支持GET、POST、PUT、DELETE等请求方式,具有拦截器、请求/响应转换、并发请求等特性
适用于需要异步请求的场景,如前端与后端的数据交互
学习Axios可以提高API请求处理效率,优化错误处理和数据管理
技术难点包括跨域请求、请求管理、并发请求控制和文件上传

技术详述

Axios的引入和安装

通过npm安装:

npm install axios

在模块化项目中引入

import axios from 'axios';

通过CDN直接引入

<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

在HTML文件中,可以直接使用script标签引入Axios的CDN链接,Axios会挂载到全局的 axios 变量上

使用Axios发送请求

GET请求:

axios.get('/user?ID=')
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

POST请求

axios.post('/user', {
  firstName: 'Fred',
  lastName: 'Flintstone'
})
.then(function (response) {
  console.log(response);
})
.catch(function (error) {
  console.log(error);
});

创建Axios

创建

const instance = axios.create({
  baseURL: 'http://localhost:8080'
});

发送请求

instance.get('/article/getAll')
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error);
  });

使用async/await简化异步请求

异步函数

async function getArticle() {
  try {
    const response = await axios.get('/user?ID=');
    console.log(response.data);
  } catch (error) {
    console.error(error);
  }
}

流程图

img

遇到的问题和解决过程

遇到的问题问题描述解决过程
大文件上传导致请求失败在上传大文件时,可能会遇到请求超时或文件上传失败的问题调整服务器文件大小限制:在服务器端,例如使用Node.js的multer中间件时,可以设置文件大小限制;增加请求超时时间:在前端,通过设置timeout选项增加请求的超时时间,防止上传过程中超时
请求超时问题在网络不稳定的情况下,请求可能会超时可以在Axios配置中设置请求超时时间,例如timeout: 4000
返回数据格式不符合预期服务器返回的数据可能并不是预期的格式,例如期望接收到一个JSON对象,但服务器返回了一个空字符串或HTML页面指定responseType:可以使用responseType配置选项,强制Axios解析返回的数据格式。如果返回的确实是JSON数据,可以指定responseType: 'json'

总结

Axios作为一种流行的HTTP客户端,以其简洁的API和强大的功能集在前端开发中占据了重要地位。它基于Promise设计,使得异步HTTP请求的处理变得更加直观和易于管理。在实际应用中,Axios能够帮助开发者轻松实现GET、POST、PUT、DELETE等HTTP请求,同时也支持请求和响应的拦截,这对于统一处理请求头、认证信息等场景非常有用。然而,Axios的使用也伴随着一些挑战,比如跨域问题通常需要后端配置CORS或者前端使用代理服务器来解决;请求超时可能需要调整Axios的timeout设置;服务器返回空数据或格式不符时,前端需要有相应的容错处理机制。此外,大文件上传问题可能需要调整服务器端的配置以及Axios的超时设置。尽管存在这些挑战,Axios因其强大的功能和灵活性,仍然是现代Web开发中不可或缺的工具之一。

参考文献

...全文
92 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

239

社区成员

发帖
与我相关
我的任务
社区管理员
  • FZU_SE_teacherW
  • 助教赖晋松
  • D's Honey
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧