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

JavaScript:Ajax(异步通信技术)

一、Ajax 核心概念

Ajax(Asynchronous JavaScript and XML)是一种异步通信技术,核心特点:

  1. 无刷新更新:无需重新加载整个页面

  2. 异步处理:后台发送/接收数据不阻塞用户

  3. 数据格式:支持 XML/JSON/HTML/纯文本

  4. 应用场景:表单验证、实时搜索、无限滚动等

 

二、XMLHttpRequest 工作流程

 

 三、代码解析

 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Ajax 实战</title>
</head>
<body><div id="saze"></div><script>// 1. 创建XHR对象const xhr = new XMLHttpRequest();// 2. 配置请求(GET异步)xhr.open("GET","https://mock.mengxuegu.com/mock/67da2f89b3f51e45c0f7bfb1/data_copy/sa",true);// 3. 发送请求(GET无需参数)xhr.send();// 4. 事件监听(推荐使用onload)xhr.onload = function() {// 状态码200表示成功if (xhr.status === 200) {try {// 5. 解析JSON数据const pageData = JSON.parse(xhr.responseText);// 6. 获取DOM容器const container = document.getElementById('saze');// 7. 高效DOM操作(减少重绘)let htmlContent = '';pageData.data.admain.forEach(user => {htmlContent += `用户名:${user.username} 密码:${user.password}<br>`;});container.innerHTML = htmlContent;} catch (e) {console.error("JSON解析失败:", e);}} else {console.error(`请求失败,状态码:${xhr.status}`);}};// 8. 错误处理(网络层)xhr.onerror = function() {alert("网络请求发生错误");};</script>
</body>
</html>

四、关键点详解

1.XMLHttpRequest 生命周期

  • readyState 状态码:

    • 0:未初始化

    • 1:open() 已调用

    • 2:send() 已调用

    • 3:接收响应中

    • 4:响应完成(需在此处理数据)

2.HTTP 状态码处理

  • 200:成功

  • 201:创建成功

  • 400:客户端错误

  • 401:未授权

  • 404:资源不存在

  • 500:服务器错误

六、常见问题排查

  1. 跨域错误:检查服务端CORS配置

  2. 状态码0:通常是网络断开或跨域限制

  3. 解析错误:确保响应是合法JSON

  4. 未触发回调:检查readyStatestatus条件

 

http://www.xdnf.cn/news/1230355.html

相关文章:

  • 用 JavaSwing 开发经典横版射击游戏:从 0 到 1 实现简易 Contra-like 游戏
  • Highly Compressed Tokenizer Can Generate Without Training
  • 【数据结构初阶】--排序(二)--直接选择排序,堆排序
  • 2025 年 VSCode 插件离线下载硬核攻略
  • 数字化生产管理系统设计
  • vue3渲染html数据并实现文本修改
  • 关于人工智能AI>ML>DL>transformer及NLP的关系
  • docker 容器常用命令
  • 用Unity结合VCC更改人物模型出现的BUG
  • 网络安全基础知识【6】
  • Linux 高级 I/O 系统调用详解
  • [硬件电路-114]:模拟电路 - 信号处理电路 - 放大器的种类与比较
  • kotlin小记(1)
  • lumerical——布拉格光栅(2)
  • WAIC引爆AI,智元机器人收购上纬新材,Geek+上市,157起融资撑起热度|2025年7月人工智能投融资观察 · 极新月报
  • 【机器学习】“回归“算法模型的三个评估指标:MAE(衡量预测准确性)、MSE(放大大误差)、R²(说明模型解释能力)
  • webpack面试题及详细答案80题(61-80)
  • linux eval命令的使用方法介绍
  • USB Device(VID_1f3a_PID_efe8) 驱动叹号
  • Kubernetes Gateway API 详解:现代流量路由管理方案
  • 除数博弈(动态规划)
  • wxPython 实践(六)对话框
  • 【05】OpenCV C#——OpenCvSharp 图像基本操作---转灰度图、边缘提取、兴趣区域ROI,图像叠加
  • Day25-对称二叉树-
  • react 和 react native 的开发过程区别
  • React ahooks——副作用类hooks之useThrottleEffect
  • 再见!三层框架开发
  • Java中的sort()排序详解
  • 涉水救援机器人cad【12张】三维图+设计书明说
  • linux编译基础知识-头文件标准路径