Ajax - Web 开发者指南 编辑

新手入门
 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。

参见

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

工具

例子

HTML, XHTML, CSS, DOM, JavaScript, XML, XMLHttpRequest, XSLT, DHTML, Same Origin Policy

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:92 次

字数:10319

最后编辑:6 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文