当前位置: 首页 > news >正文

Ajax技术和Axois工具库

前端如何才能动态展示数据?如何动态获取后端的数据呢?

目录

文章目录

一、什么是Ajax?

二、什么是Axios?

核心用途

三、如何在Vue项目中使用Axios?

1、安装Axios

2、引入Axios

3、基础使用

4、拦截器

5、async/await是什么?

总结


一、什么是Ajax?

Ajax是一种技术概念。全称:异步的JavaScript和XML

  • 是浏览器原生的通信方式
  • 不用刷新页面就能和服务器异步请求数据
  • 原生用XMLHttpRequest实现

二、什么是Axios?

Axios 是一个第三方库,是封装好的、更好用的 Ajax 工具库,用于快速开发。

专门给 Vue/React 等项目用,语法更简洁、支持拦截器、超时设置、自动转换 JSON。

核心用途

1、前端向后端发网络请求(GET/POST/PUT/DELETE)

2、异步获取后台数据,页面不用刷新

3、统一请求 / 响应拦截(加 token、统一报错、加载动画)

4、自动转换 JSON,不用手动解析

5、支持请求超时、取消请求、并发请求

6、浏览器和 Node.js 都能用,Vue/React 项目标配

常用:

1、数据交换:通过Ajax可以给服务器发送请求,并获取服务器响应的数据 ;

2、异步交互:在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术,如:搜索联想、用户名是否可用的校验等。

三、如何在Vue项目中使用Axios?

1、安装Axios

npm install axios

2、引入Axios

在main.js中全局引入Axios(使全局所有组件都能使用)

import { createApp } from 'vue' import App from './App.vue' import axios from 'axios' // 配置基础后端地址 axios.defaults.baseURL = 'http://localhost:8080' // 超时时间 axios.defaults.timeout = 10000 // 挂载到全局 const app = createApp(App) app.config.globalProperties.$axios = axios app.mount('#app')

3、基础使用

(1)GET请求(获取数据)

import axios from 'axios' axios.get('/api/list') .then(res => { console.log(res.data) // 后端返回的数据 }) .catch(err => { console.log('请求失败', err) })

带参数写法:

axios.get('/api/list', { params: { page: 1, limit: 10 } })

(2)POST请求(提交数据,登录/注册)

axios.post('/api/login', { username: 'admin', password: 123456 }) .then(res => { console.log(res.data) })

(3)PUT/DELETE修改删除

// 修改 axios.put('/api/user/1', { name: '张三' }) // 删除 axios.delete('/api/user/1')

4、拦截器

请求拦截:在每次请求发出之前,自动在请求头里加上一个字段叫 Authorization。而“token”是你登录后存在本地的“临时身份证”,后端需要根据这个识别你的身份。而不需要我们手动添加。

axios.interceptors.request.use(config => { // 请求头加token config.headers.Authorization = localStorage.getItem('token') return config })

响应拦截:统一处理报错、状态码

axios.interceptors.response.use( res => res.data, // 直接返回数据,不用每次都写res.data err => { alert('请求出错') return Promise.reject(err) } )

5、async/await是什么?

async/await是让异步代码(比如 axios 请求)写得像同步代码一样的语法,专门用来简化 axios 请求,不用像之前一样写then,然后回调嵌套。

对比:

// 传统写法:用 then 链式调用 axios.get('/api/list').then(res => { console.log(res) })
//async/await 写法 async function getList() { // 像普通变量一样,直接接收结果 let res = await axios.get('/api/list') console.log(res) }

async写在函数前面,告诉JS这个函数里有异步操作;await只能用在有async的函数里,等待异步操作执行完之后再往下走


四、总结

Ajax是原生异步请求原理

Axios是封装好的 HTTP 请求库,简化 Ajax 开发

日常开发:发接口、传参、带 token、统一拦截、处理请求报错全靠 Axios,Vue 前端必备。

http://www.jsqmd.com/news/796650/

相关文章:

  • SteamAutoCrack:三步完成Steam游戏自动破解的终极指南
  • 2026年3月 电子学会青少年软件编程机器人技术三级等级考试试卷真题【理论综合】
  • 2026欧洲名义雇主EOR服务商优选,海外人力资源服务商助力全球雇佣无忧 - 品牌2026
  • 交换机端口隔离:从原理到实战,构建安全高效的二层网络
  • PX4飞控的“隐藏技能”:拆解ESP8266 WiFi数传如何变身TCP/IP网关
  • 有防晒黑的防晒霜吗?这5款防晒易黑体质用了狂喜 - 全网最美
  • 三分钟学会免费B站视频解析:bilibili-parse终极使用指南
  • BatchNorm2d实战解析:从参数配置到训练/推理模式切换的避坑指南
  • 2026年湖南高端门窗定制:系统门窗与断桥铝门窗深度横评指南 - 年度推荐企业名录
  • 2026德国名义雇主EOR服务商优选,海外人力资源服务商助力全球雇佣无忧 - 品牌2026
  • 从图文对到通用视觉:CLIP如何用对比学习重塑多模态预训练范式
  • 3步轻松播放英雄联盟回放:ROFL-Player完整使用指南
  • 【NotebookLM vs Notion AI终极对决】:20年AI工具实战专家亲测的5大核心维度深度横评(附决策速查表)
  • 基于SSM框架的童装购买平台微信小程序(30286)
  • 2026年湘潭高端系统门窗与平开窗定制完全指南:隔音防水节能解决方案 - 年度推荐企业名录
  • 解决在Pycharm中配置Conda环境中遇到的问题
  • 2026巴西名义雇主EOR服务商优选,海外人力资源服务商助力全球雇佣无忧 - 品牌2026
  • 5分钟解决魔兽争霸III卡顿闪退问题:WarcraftHelper终极优化指南
  • 裕福卡闲置了新手怎么快捷且高效回收?技巧全解析 - 淘淘收小程序
  • 用了降AI提示词还是被判AI?嘎嘎降AI双降兜底过AIGC检测!
  • 2026宁波干洗大作战:权威测评哪些店值得信赖? - 速递信息
  • League Akari:3步打造你的英雄联盟智能游戏助手,告别繁琐操作
  • BetterRTX光影安装器:3分钟开启Minecraft实时光追体验的终极指南
  • 3402开源:黄大年茶思屋榜文保姆级全落地解法「34期 2题」ARM架构密态数据库安全共享内存交换机制双路径工程落地全解
  • 2026宁波婚纱摄影排名|服务口碑与消费透明双维测评 - charlieruizvin
  • 气动比例调节阀深度解析:结构、原理、选型与工程实践 - 米勒阀门
  • 用NE5532和LM1875手搓一个双工对讲机:从原理图到仿真调试的全过程复盘
  • 喜马拉雅PC端下载音频的“隐藏”方法:绕过xm格式,用微软商店版直接获取mp3文件
  • ROFL-Player:英雄联盟回放播放器终极指南 - 免费工具解决版本兼容难题
  • 2026年宜宾黄金上门回收品牌测评报告——六大机构实地交叉验证,谁才是三江口的“真金”? - 金掌柜黄金回收