第 6 章 · 腔外手术:AJAX 数据输送 章节摘要:页面内部的操作练熟之后,真正的数据在体外——服务端的接口里。AJAX 就是把手术刀伸到体外取回组织再缝回体内的术式。本章按"原理、主力器械、快捷工具、侧路通道"的顺序展开:先弄清一次异步请求的完整生命周期与同源规则的约束,再解剖 的全参数与全局事件,然后盘点四件简化工具与 的特殊本领,最后处理跨域这道体壁并交代安全底线。读完本章,你能独立完成"取数、渲染、反馈、排错"的完整数据链路。 学习目标 读完本章,你应当能够: 说清 AJAX 的异步本质与 XMLHttp 请求的生命周期各阶段。 用 配置方法、地址、数据、数据类型与三类回调,完成标准请求。 用全局事件做统一的加载指示与错误兜底,用 Promise 风格组织依赖请求。
章节摘要:页面内部的操作练熟之后,真正的数据在体外——服务端的接口里。AJAX 就是把手术刀伸到体外取回组织再缝回体内的术式。本章按"原理、主力器械、快捷工具、侧路通道"的顺序展开:先弄清一次异步请求的完整生命周期与同源规则的约束,再解剖
$.ajax的全参数与全局事件,然后盘点四件简化工具与load的特殊本领,最后处理跨域这道体壁并交代安全底线。读完本章,你能独立完成"取数、渲染、反馈、排错"的完整数据链路。
读完本章,你应当能够:
$.ajax 配置方法、地址、数据、数据类型与三类回调,完成标准请求。get、post、getJSON、load 之间正确选型。fetch 完成同样的请求流程,判断新代码该交给谁。AJAX 的心智模型是寄出一张回执单:发出请求后代码继续往下走,响应到达时回调才被唤醒——"异步"两个字全部体现在这里。数据离开页面要经过序列化,回来要经过反序列化,中间隔着一道同源规则的安检门。
get、post、getJSON、load 各自的适用清单与局限。腔外手术的验收标准是"独立完成取数、渲染、反馈、排错的完整链路,且失败路径也在掌控中"。逐项核对:
| 考核项 | 判定动作 | 达标标准 |
|---|---|---|
| 异步时序的复述 | 请求发出后立刻打印日志 | 知道回调晚于后续同步代码,能画出时间线 |
$.ajax 核心参数 |
配方法、地址、数据与三类回调 | 参数各就各位,success 与 error 路径都验证过 |
| 数据类型的自动处理 | 声明 json 后直接用返回对象 | 知道反序列化由库完成,声明错会拿到字符串 |
| 全局事件的岗位 | 用全局事件挂统一加载指示 | 说得出局部回调与全局事件的分工 |
| Promise 风格组织 | 用链式写法串依赖请求 | 演示两步依赖请求避免回调嵌套 |
| 四件快捷工具的边界 | 在 get、post、getJSON 间选型 | 说得出各自的局限(错误处理、写操作、格式) |
load 的特殊本领 |
载入片段并带选择器过滤 | 知道它直接注入容器,省一段拼装 |
| 同源规则的判定 | 比较三个地址的协议域名端口 | 三要素逐项对齐才算同源 |
| JSONP 的原理与风险 | 把回调名拼进请求并解释脚本标签 | 答得出"动态脚本绕过限制"与"信任门槛"的代价 |
| 原生 fetch 对照 | 用 fetch 重写同一请求 | 两边行为对齐,能说出差异(默认不拒错、手动序列化) |
腔外手术的典型事故是"请求成功页面却空白"——回调里引用的选择器没匹配到元素,或数据结构与预期差一层;以及"失败无提示"——简化方法没写错误分支,用户点了个寂寞。两族症状在 6.2 与 6.3 的排错环节有专案,第 7 章会回收成速查条目。
每写一个请求,先把失败路径演一遍:断网、改错地址、返回格式错,看页面各是什么表现。数据链路的可靠性不在于成功时多顺,而在于失败时用户看到什么——这条纪律在 6.2 的错误处理与 6.3 的选型讨论里会反复出现。
前置:第 3 章的 DOM 修改(响应数据最终要缝进页面)、第 4 章的事件(请求由交互触发、全局事件本身也是事件),以及 JavaScript 对象与数组的基本操作。
往后走:第 7 章的性能与错误章节会回到本章的加载反馈与失败重试。与现代开发衔接时,6.4 的 CORS 与 fetch 对照是重要的出口——本章的模型训练出来的直觉,在 fetch 世界几乎逐条适用。