Ajax

新手入门
 Ajax简介

Asynchronous JavaScript + XML(异步JavaScript和XML), 其本身不是一种新技术,而是一个在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括: HTML 或 XHTML,  CSS, JavaScript, DOM, XML, XSLT, 以及最重要的 XMLHttpRequest。当使用结合了这些技术的AJAX模型以后, 网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面。这使得程序能够更快地回应用户的操作。

尽管X在Ajax中代表XML, 但由于JSON的许多优势,比如更加轻量以及作为Javascript的一部分,目前JSON的使用比XML更加普遍。JSON和XML都被用于在Ajax模型中打包信息。

文档

新手入门
本文将为您引导完成ajax基础知识,并为您提供两个简单的实际操作示例。
使用XMLHttpRequest API
XMLHttpRequest API是Ajax的核心。本文将解释如何使用一些Ajax技术,比如:
Fetch API
Fetch API 提供一个获取资源的接口。对于用过 XMLHTTPRequest 的人来说会觉得很熟悉,但这个API提供了更加强大且灵活的特性。
Server-sent 事件
在过去,一个网页必须发送请求到服务器来获取新的数据,也就是说,网页必须主动向服务器请求数据。有了server-sent events之后,服务器可以向网页推送消息,使得服务器可以随时向网页传送数据。这些发送过来的消息可以看作是带有数据的事件。参见: Using server-sent events.
纯 Ajax 导航示例 
本文提供了一个仅由三个页面组成的纯Ajax网站的(简易)工作示例。
发送和接收二进制数据
可以设置 XMLHttpRequest 对象的 responseType 属性以改变从服务器端获取数据的类型。可接受的值为空字符串(默认)、arraybufferblobdocumentjson 以 及 text。 response 属性性根据 responseType 的值成为对应的数据对象,如 ArrayBufferBlob、 Document、 JSON 或者 string 。本文会展示一些Ajax I/O技术。
XML
The Extensible Markup Language (XML) 可扩展标记语言是W3C推荐的一种专用于创建专用标记语言的通用标记语言 。它是SGML的简化子集,能够描述许多不同类型的数据。其主要目的是促进在不同的系统,尤其是通过互联网连接的系统间的数据共享。
解析和序列化 XML
如何从字符串,文件或者Javascript中解析XML文档,以及如何将XML文档序列转化为字符串,Javascript对象树 (JSON)或者文件 。
XPath
XPath 代表XML Path Language,它使用非XML 语法,提供了一种灵活的方式来寻址(指向)XML文档的不同部分。除此之外,它还可以用于测试文档中的寻址节点,以确定他们是否匹配模式。
FileReader API
 FileReader API允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓存)的内容,使用 File 或 Blob 对象指定要读取的文件或数据。文件对象可以从用户选择文件后的 <input> 元素的 FileList 对象中获取,也可以从拖放操作的 DataTransfer 对象获取,或者从HTMLCanvasElementmozGetAsFile() API获取。
XMLHttpRequest对HTML的支持 
W3C XMLHttpRequest规范向XMLHttpRequest添加了HTML解析支持,XMLHttpRequest原本只支持XML解析。此功能允许Web应用程序使用XMLHttpRequest获取HTML资源作为解析的DOM。

View All...

参见

Ajax: A New Approach to Web Applications
Jesse James Garrett在2005年2月写了这篇文章 adaptive path,介绍了Ajax及其相关概念。
XMLHttpRequest Specification
WHATWG 现行标准