异步 JavaScript + XML,本身不是一种技术,是在2005年由 Jesse James Garrett 提出的一个术语,描述了一种“新”的结合使用大量已经存在的技术的方式,包括:HTML或XHTML,CSS,JavaScript,DOM,XML,XSLT,还有最重要的XMLHttpRequest 对象.
当这些技术以Ajax模型的方式集合起来,web应用可以更快地,无需加载整个页面就能更新用户界面。这使应用能更快地响应用户行为.
尽管在 AJAX 中 X 代表 XML,但现在JSON使用的更多,因为 JSON 具有很多优势,比如更轻量并且是JavaScript的一部分. 在 AJAX 模型中 JSON 和 XML 都用于承载信息.
文档
- 入门
- 这篇文章通过介绍 AJAX 基础知识和两个实际例子引导你快速入门.
- 使用 XMLHttpRequest API
-
这个
XMLHttpRequest
API是 AJAX 的核心. 这篇文章向你解释怎样使用一些 AJAX 技术,比如:- 分析和操作服务器端的响应,
- 监视请求的进度,
- 使用纯AJAX 或FormData对象提交表单和上传二进制文件.
- 创建异步或同步请求,
- 在Web workers中使用 AJAX.
- 服务器端发送事件
- 传统上,一个 web 页面必须发送一个请求到服务器端然后接收到新的数据; 换言之,页面从服务器请求数据. 而服务器端发送事件,通过推送消息到web页面,服务器可能在任何时刻发送新数据到web页面. 这些接收到的消息可以被当作 web 页面里的 事件(Events)+ 数据. 参见: 使用服务器端发送事件.
- 纯-AJAX导航示例
- 这篇文章提供了一个工作着的仅由三个 pure-AJAXweb 站点组成的示例.
- 发送和接收二进制数据
-
XMLHttpRequest 对象的
responseType
属性可以被设置用来改变期望从服务器端获得的响应类型. 可能的值有:空串(默认),"arraybuffer"
,monospace">"blob",monospace">"document",monospace">"json",和"text"
.response
属性根据responseType
将包含的实体作为ArrayBuffer
,monospace">Blob,monospace">Document,monospace">JSON,或 string. 这篇文章将展示一些 AJAX I/O 技术. - XML
- 可扩展标记语言 (XML)是 W3C 推荐的用于创建特定目的标记语言的通用标记语言. 它是 SGML 的一个简化子集,能描述很多不同类型的数据. 它的主要目的是促进跨系统间的数据共享,尤其是通过互联网连接起来的系统.
- JXON
- JXON 表示无损 Javascript XML Object Notation,它是使用 XML 表示 JavaScript 对象树(JSON)的一个通用名字.
- 解析和序列化 XML
- 怎样从一个字符串、文件或通过 JavaScript 解析出 XML 文档,怎样序列化 XML 文档为字符串,JavaScript对象树(JXON)或文件.
- XPath
- XPath 表示 XML Path语言,它使用非 XML 语法提供一种的灵活方式访问一个 XML文档的不同部分. 与此同时,能用于测试文档内给定的结点,判断它们是否匹配一个模式.
-
The
FileReader
API -
使用
File或
Blob对象指定要读取的文件或数据,
FileReader
API 让 web 应用异步读取存储在用户计算机上的文件内容. 文件对象可能从一个作为用户使用<input>
元素选择文件返回结果的 FileList对象获得,或来自一个拖拽操作的 DataTransfer对象,或来自在一个 HTMLCanvasElement上mozGetAsFile()
API 操作. - 在 XMLHttpRequest 中使用 HTML
-
W3C
XMLHttpRequest规范给
XMLHttpRequest添加了 HTML 解析支持,原先只支持XML解析的. 这个特性允许 Web app 使用
XMLHttpRequest
获取一个解析为 DOM 的HTML资源. - 其他资源
- 其他一些有用的 AJAX 资源.
See also
- 其他 AJAX 技术
- 大多数关于 Ajax 的文章集中在使用 XMLHttp 作为实现这种通信的方式,但是 Ajax 技术不仅仅限制在XMLHttp. 这里介绍了几个其他方法.
- Ajax: A New Approach to Web Applications
- adaptive path的 Jesse James Garrett,在2005年写了这篇文章,引入了 AJAX 和相关概念.
- A Simpler Ajax Path
- "事实证明,在仍然使用像收集用户输入的 web 表单这样的传统工具情况下,相当容易利用 XMLHttpRequest 对象使 web 应用更像桌面应用."
- 在 AJAX 应用中修复返回按钮和启用书签
- Mike Stenhouse 写了这篇文章,列举了一些在开发 AJAX 应用时用来修复返回按钮和书签问题的方法.
- Ajax 常见错误
- Alex Bosworth 写了这篇文章总结了AJAX应用开发者容易犯的一些错误.
- 教程和示例.
- XMLHttpRequest 规范
- W3C 工作草案