Ajax与异步编程

Ajax与异步编程

2026年5月15日·#前端基础前端/Ajax·495 字 2 分钟
浏览量加载中...
AI 摘要

使用Ajax实现页面无刷新数据交互,async/await简化异步编程

Ajax与异步编程#

定义#

Ajax(Asynchronous JavaScript And XML)是一种在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术。它实现了前端与服务器的异步数据交互。

语法/用法#

同步vs异步对比#

同步请求流程:
浏览器 → 发送请求 → [等待服务器处理] → 接收响应 → 继续操作
(期间页面被阻塞,无法操作)
异步请求流程:
浏览器 → 发送请求 → 继续其他操作
(请求在后台处理)
服务器 → 处理完成 → 返回数据 → 更新页面局部内容
(页面不刷新,用户体验好)

async/await语法#

// 用async声明异步方法
async search() {
const result = await axios.get(
`https://api.example.com/emps/list?name=${this.searchForm.name}`
);
this.empList = result.data.data;
}

Promise方式#

axios.get(url)
.then(res => {
console.log(res.data);
})
.catch(err => {
console.log(err);
});

常见场景#

  1. 数据获取:从服务器加载数据并动态展示
  2. 表单提交:异步提交表单数据,避免页面刷新
  3. 搜索联想:用户输入时实时获取联想建议
  4. 数据验证:用户名可用性检查、邮箱验证等
  5. 局部刷新:只更新页面中变化的部分

注意事项#

  1. 同步vs异步

    • 同步请求会阻塞页面,等待服务器响应期间无法操作
    • 异步请求不阻塞页面,用户体验更好
  2. async/await

    • async用于声明异步方法
    • await用于等待异步任务执行
    • 配合使用可以让异步代码看起来像同步代码
    • 提高代码可读性和可维护性
  3. 错误处理

    • 使用try-catch包裹await调用
    • Promise方式使用.catch处理错误
  4. 跨域问题

    • Ajax请求受同源策略限制
    • 需要服务器配置CORS或使用代理
  5. 异步不是多线程

    • JavaScript是单线程语言
    • 异步通过事件循环机制实现
    • 不阻塞主线程但也不能利用多核并行计算
最后更新于 2026-05-15,距今已过 94 天

部分内容可能已过时

评论区

[ 标签 ]
# AI5# AI 编程2# AI工具1# Ajax2# Apifox1# AstrBot2# Astro2# CC Switch1# CDN2# Claude Code1# claudecode2# ClaudeCode1# CloudFlare2# Cloudflare1# CloudFlare-ImgBed1# coc3# CSS6# DeepSeek2# deepseek2# DELETE1# Docker1# EdgeOne3# Gist1# git1# GitHub1# hexo-circle-of-friends1# HTML6# HTTP2# Java23# java13# JavaScript5# JDBC3# JSON1# JUnit1# Logback1# Maven6# Mybatis1# MyBatis4# MySQL6# MySql1# NapCat1# Obsidian3# OpenCode3# ORM1# PathVariable1# PicGo1# py2# RequestBody1# RequestMapping1# RESTful风格1# skills1# Slf4j1# SpringBoot11# SQL2# Svelte2# TailwindCSS1# Telegram2# Tlias2# Vercel1# Vue7# Waline3# WebDAV1# Web基础6# WinSCP1# YAML1# 三层架构1# 中二宣言1# 书籍1# 使用文档9# 写作1# 刷步数1# 前端32# 动态1# 动漫1# 单词2# 博客6# 博客工作流1# 博客开发2# 参数接收1# 友链1# 反思2# 图床4# 地图1# 备份1# 奇思妙想1# 存储1# 学习方法1# 宝塔面板3# 宝宝9# 导航栏1# 工具2# 开发1# 开发规范1# 开心1# 影视1# 微信1# 性能优化2# 总结1# 想法7# 感悟9# 指南1# 插件3# 故障排除1# 效率工具2# 教程7# 数据库10# 斩神1# 日常60# 日志框架1# 朋友圈1# 朱元璋1# 模板1# 测试1# 游戏1# 生活迁移1# 电影2# 碎碎念1# 视觉识别1# 网络教室1# 羊毛1# 脚本1# 脚本工具1# 自动化2# 蓝奏云1# 订阅推荐1# 记录1# 评论系统1# 词根1# 词缀1# 说说1# 足迹1# 跑步2# 路径参数1# 转载1# 运动1# 部落冲突1# 配置1# 随机图1# 音乐3# 音标1# 饮食1# 驼峰命名1# 高德地图1
[ 公告 ]

如果你喜欢,那么欢迎来到我的世界!

了解更多
[ 音乐 ]
封面

音乐

暂未播放

0:000:00
暂无歌词
找不到相关结果。
[ contents ]
[ 全部文章 ]
工具