AJAX
AJAX:一种“异步请求 + 局部更新”的开发实践;不是具体 API。
#type / concept
#status / growing
#tech / network
#platform / browser
#resource / http
#resource / javascript
[!info] related notes
AJAX
Overview
AJAX:不是具体 API,而是一种开发思想
AJAX 的核心不是某个函数名,而是:
页面不整页刷新,改为在后台向服务器请求数据,再局部更新界面。
它们都和“前端如何向服务器发请求”有关,但不是同一层的概念。MDN 把 AJAX 解释为:网页可以用 JavaScript 以编程方式发 HTTP 请求,只更新页面的一部分而不是整页刷新;这种实践通常就叫 AJAX。XHR 是早期实现 AJAX 的核心 API,而 Fetch API 是更现代的替代方案。(MDN Web Docs)
所以 AJAX 更像一个“模式”或“架构思路”。
以前大家说“写 AJAX”,很多时候其实是在说:
- 用
XMLHttpRequest发请求 - 拿到服务器返回的数据
- 再用 JS 更新页面局部内容
MDN 明确说了:XMLHttpRequest API 让网页能以编程方式向服务器发 HTTP 请求,而“只更新部分页面而不整页跳转”这种实践,也常被称为 AJAX。(MDN Web Docs)
概念
异步局部更新页面
AJAX 这个词来自:
- Asynchronous:异步
- JavaScript
- And XML
但今天它早就不局限于 XML 了。JSON 更常见。MDN 也说明 XMLHttpRequest 虽然名字里有 XML,但其实可用于获取各种类型的数据,不只是 XML。(MDN Web Docs)
所以现代语境里,AJAX 更准确的意思是:
- 用 JS 发异步 HTTP 请求
- 获取 JSON / 文本 / 二进制等数据
- 不整页刷新,只更新局部 UI
例如搜索联想、无限滚动、评论加载、表单异步提交,这些都属于 AJAX 思路。