异步 JavaScript 和 XML (Ajax) 指的是用于开发 Web 应用程序的一组技术。通过组合这些技术,Web 页面外观的响应更灵敏,这是因为与服务器交换的数据包较小并且不会在每次用户更改输入时都重新装入 Web 页面。Ajax 使 Web 应用程序用户能够与 Web 页面交互,而不必中断频繁的 Web 页面重新装入。
只有部分页面重新装入和刷新操作才会快速发生 Web 站点交互。
Ajax 由以下技术组成:
- XHTML 和 CSS,用于显示信息。
- 文档对象模型 (DOM),用来与所显示的信息动态进行交互并显示该信息。
- XMLHttpRequest 对象,用来与 Web 服务器以异步方式处理数据。
- XML、HTML 和 XSLT,用于数据交换和处理。
- JavaScript,用于绑定数据请求和信息显示。
Ajax 合并这些技术以创建用于开发 Web 应用程序的新方法。
Ajax 会定义在不重新装入页面的情况下启动客户机与服务器通信的方法。它提供了一种方法来启用部分页面更新。从 Web 页面用户角度看,它意味着改进与 Web 应用程序的交互,这使用户能够对他们的环境进行更多控制,类似于对桌面应用程序的控制。
在传统的 Web 应用程序中,将向 Web 服务器发出由用户通过 Web 界面进行的交互而启动的 HTTP 请求。Web 服务器会处理该请求,并向客户机返回一个 HTML 页面。在 HTTP 传输期间,用户无法与 Web 应用程序交互。
在 Ajax Web 应用程序中,不会中断用户与 Web 应用程序的交互。通过呈现界面并代表用户来处理与服务器的通信,Ajax 引擎或 JavaScript 解释器使用户能够与 Web 应用程序交互,而与服务器之间的 HTTP 互相传输无关。
Ajax 限制
虽然 Ajax 是一项旨在使 Web 页面的响应更灵敏以及与用户进行交互的 Web 应用程序开发方法,但在开发基于 Ajax 的应用程序之前,需要考虑 Ajax 的一些限制。以下限制是比较严重的缺点:
- 浏览器支持 - 并非所有浏览器都支持 JavaScript 或 XMLHttpRequest 对象。即使在支持 JavaScript 和 XMLHttpRequest 的浏览器之间,也会以不同方式对待这些对象。必须考虑每一种浏览器的 AJAX 实现。
- 安全和用户隐私 - 并非所有需要注意的地方都涉及到。
开发 Ajax 应用程序时,需要考虑与安全和用户隐私相关的问题。
- 辅助功能选项 - 因为并非所有浏览器都支持 JavaScript 或 XMLHttpRequest 对象,所以您必须确保提供一种方式以使所有用户都能访问该 Web 应用程序。
- 书签和导航 - 因为 Ajax 用来以异步方式将少量内容装入到现有页面中,所以部分页面信息可能与新装入的页面不对应。尽管正在更改页面的某些部分,但由于 URL 保持不变,所以浏览器历史记录和书签的行为可能不正确。
- 搜索引擎 - Ajax 应用程序不可搜索;但是,可以在可搜索的应用程序内使用 Ajax 功能部件和元素。