AJAX 的全称是什么?
简介
AJAX(异步 JavaScript 和 XML)是一套用于创建快速且动态网页的 Web 开发技术。
花点时间想象一下你在 Google 上进行搜索。当你输入正确的搜索条件时,搜索框中通常会显示各种可能性。它们的来源是什么?绝对不是从客户端的角度。这允许用户在无需重新加载页面的情况下成功地与服务器通信。还有很多类似的例子都可以被认为是 Ajax 的应用。简而言之,Ajax 就是让所有这些都能够运作的关键。
AJAX 的定义和解释
AJAX 是异步 JavaScript 和 XML的简称。AJAX 是一种新技术,使开发人员能够创建更有效、更快速和更具交互性的 Web 应用程序。它使用 XML、HTML、CSS 和 Java Script。
Ajax 结合使用文档对象模型和 JavaScript,以及 XHTML 用于内容和 CSS 用于呈现,以显示动态内容。
当用户使用 AJAX 提交表单时,JavaScript 会向服务器发出请求,解码结果并刷新当前屏幕。
服务器数据可以以任何格式检索,包括纯文本,但最常用的是 XML。
AJAX 是 Web 浏览器的一项功能,可以在没有 Web 服务器的情况下运行。
在用户使用应用程序期间,客户端程序可能会继续在后台运行并向服务器发出数据请求。
AJAX 的历史和演变
在 2005 年之前,建立客户端和服务器之间的连接非常具有挑战性。为了将服务器数据传输到客户端,开发人员使用隐藏的框架。然而,James Garrett 的一篇名为“AJAX:Web 应用程序的一种替代方法”的文章改变了这一现状。微软率先推出了动态 HTML 的文档对象模型 (DOM),这是一种新型的传统标记语言。
DOM 动词于 1997 年首次引入,但从未被采纳为标准。现在,DOM 已经成为 Ajax 的一个重要组成部分。在 HTML iframe 获得全新元素的同一年,DOM 也被标准化了。令人惊喜的是,JavaScript 和 DOM 可以用来快速生成这样的 iframe。Internet Explorer 于 1996 年首次引入了 iframe。它具有异步下载或获取内容的功能。
1998 年,Microsoft Outlook Web Access 团队创建了 XML Http Request 脚本对象。它首次出现在 MSXML 库的第二个版本中,该版本于 1999 年 3 月与 Internet Explorer 5.0 一起发布。目前,第一个 XML HTTP 请求表单可在微软的 Internet Explorer 7 中使用。
谷歌在发布 Gmail(2004 年)和 Google Maps(2005 年)的同时,也发布了一个全面的浏览器来支持 Ajax 兼容性。Kayak.com 的公开测试版于 2004 年 10 月发布,其开发者当时称之为“XML HTTP 东西”,是当时最广泛使用的电子商务形式之一。为了支持 Google Pages 中使用的技术,James Garrett 于 2005 年 2 月 18 日在一篇名为“Ajax:Web 应用程序的一种替代方法”的文献中首次创造了“AJAX”这个名称。
AJAX 中使用的关键技术和组件
Ajax 是一组相关技术的集合,而不是一项单一的技术。AJAX 技术包括:
CSS、HTML 和 XHTML − 这些技术用于显示内容和样式。它主要用作呈现工具。
DOM − 它用于交互式数据显示和动态数据显示。
XML 或 JSON − 用于在服务器和客户端之间传输数据。XML 类似于 JSON(JavaScript 对象表示法),但 JSON 更快且更简洁。
XMLHttpRequest − 一个用 JavaScript 编写的对象,用于与服务器进行异步通信。
JavaScript − 它用于连接上述技术。它本身主要用于客户端验证。
AJAX 在 Web 应用程序中的工作原理
AJAX 使用 XMLHttpRequest 对象与服务器通信。让我们使用下面的示例来尝试理解 Ajax 的流程或功能。
AJAX 的工作原理
当 Web 页面上发生某个操作(例如加载页面或单击按钮)时,JavaScript 会创建一个名为 XMLHttpRequest 的对象。
XMLHttpRequest 对象用于向 Web 服务器发送 HTTP 请求。
服务器响应请求。
Web 服务器响应 Web 页面。
JavaScript 解释响应。
JavaScript 执行必要的操作(例如页面更新)。
AJAX 的优点和缺点
以下是使用 AJAX 的优点
应用程序可以选择在没有数据的情况下呈现,并在从服务器获取数据后添加数据。
为应用程序开发人员提供平台独立性。
页面无需重新加载即可更改特定区域。
以下是使用 AJAX 的缺点−
如果用户的浏览器不支持 JavaScript 或 XMLHttpRequest,或者禁用了此功能,则他们将无法正常使用依赖 Ajax 的页面。
由于存在大量服务器查询,因此必须有更多客户端数据消耗。
如果只有一个请求失败,则整个页面可能无法加载。
结论
Ajax 是一组用于构建异步 Web 应用程序的客户端 Web 开发技术。Ajax 允许 Web 应用程序异步地从服务器发送和接收数据,而不会改变页面的外观或行为。AJAX 现在是最有用的富互联网应用程序 (RIA) 技术。然而,并非所有浏览器都支持 AJAX,并且它受 JavaScript 支持,JavaScript 难以管理和排查故障。
常见问题
Q1. AJAX 有哪些安全问题?
答:
可以读取 AJAX 源代码。
攻击者可以将脚本添加到系统中。
Q2. 解释 AJAX 中回调函数的功能。
答:回调函数将函数作为参数传递给另一个函数。如果网站上有多个 AJAX 任务需要完成,我们可以编写一个函数来完成 XMLHttpRequest,并编写一个回调函数来完成每个 AJAX 操作。
Q3. 给出一些 AJAX 的示例。
答:以下列出了一些使用 AJAX 的知名网站:
Google Maps
Google Maps 的用户可以拖动整个地图,而无需单击按钮。
Google Suggest
当您输入内容时,Google 会建议单词。您可以使用箭头键浏览结果。
Gmail
根据 Google 的 Web 邮件服务,可以使电子邮件更具逻辑性、有效性和价值。