【问题标题】:Understanding what AJAX is capable of and its limitations了解 AJAX 的功能及其局限性
【发布时间】:2014-03-11 19:18:27
【问题描述】:

多年来我一直听说 AJAX,但我从未觉得有必要或有兴趣学习它,我知道它是 Javascript 和 XML 的混合体,但直到现在我才花时间真正尝试理解它。

这是我目前对 AJAX 的理解。 Ajax 不是一种语言,它只是现有技术的组合,基本上是 JavaScript 和 XML(可能还有 HTML 和 CSS),并使用 XMLHttpRequest 在后台与服务器通信以仅更新/加载页面的一部分而不是重新加载整个页面。

我不完全理解的事情。

1- 是否有任何 AJAX 文档或 API 可供我参考以了解 AJAX 提供的功能/选项?

2- 为什么亚马逊的每一本书都显得老旧?这是因为 AJAX 这不是一种语言并且不会改变吗?

3- 我在www.w3schools.com 阅读了教程,我想知道本教程中显示的内容是否基本上是 AJAX 可以做的所有事情,基本上,请求和响应服务器?

再一次,我在这里想要了解的基本上是,为了更好地了解 AJAX,我还需要学习多少。

非常感谢

【问题讨论】:

    标签: javascript ajax xml


    【解决方案1】:

    长话短说:AJAX 让您无需提交表单或浏览页面即可调用服务器。这就是它的全部

    最初它代表“异步 Javascript 和 XML”,因为 XMLHttpRequest 对象旨在接收 XML 格式的更新。 Microsoft 添加了该对象,以便 Outlook Web 界面可以通过轮询服务器来弹出新邮件警报。

    从那时起,大多数程序员都避免使用 XML 作为数据交换协议,而是转而依赖JSON。 JSON 更容易解析和使用。

    虽然我可以浏览一些低级别 XMLHttpRequest 交互的示例,但 other sources 已经很好地涵盖了这些。

    相反,我会给你一些建议。 Study Javascript 并考虑学习 jQuery API。 JQuery 强制执行函数式编程并使 AJAX 调用等常见活动非常容易完成。因此,您将学习成为一名更好的 Javascript 程序员,并希望借助后台服务器请求带来的强大功能,让您的网站更具交互性。

    【讨论】:

    • 非常感谢您的帮助。我确实知道一点 Javascript 和 jQuery 我只是从来没有花时间研究 AJAX。现在说得通了。
    【解决方案2】:

    虽然 AJAX 中的“X”代表 XML,但今天的应用程序更可能使用 JSON 编码而不是 XML,因为返回数据可以由浏览器 JavaScript 解释器直接评估。支持 JavaScript 的核心对象是 XMLHttpRequest,它最初是作为 IE 5 的 ActiveX 组件开发的。它已成为所有 Web 浏览器实现中的标准对象。您可以在此处阅读有关核心功能的信息:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest

    您最好的选择是研究现代 JavaScript 框架,例如 jQuery。 http://www.jquery.com/ 了解如何在 Web 应用程序中使用 AJAX 技术。

    【讨论】:

      【解决方案3】:

      这是一个有点含糊的问题,可能会得到一些反对票,但我认为它足够具体,确实需要一些信息。

      简而言之,AJAX 是 JavaScript 异步请求信息的原因。 XML 部分有点用词不当,因为您根本不必显式处理 XML。通常,您会使用 AJAX 请求来读取 JSON 信息(因为它很容易解析和使用)。

      AJAX 不是真正的语言,甚至不是框架。这是一种技术。 XMLHttpRequest 类以及一些相关技术使之成为可能。由于它并非在所有浏览器中都 100% 一致,因此通常最好使用第三方库。 jQuery 和大多数其他较大的框架通常都内置了它。您还可以找到一些仅 AJAX 的小型库,例如 XMLHttpRequest project on Github

      每本关于该技术的书都可能很旧,因为自从该技术开始流行以来,并没有真正发生实质性的变化。在过去的 3 到 5 年里,我一直在使用它,并没有太大变化(除了现代浏览器的标准化程度更高)。

      响应和请求基本上是 AJAX 能做的所有事情。然而,这带来了整个世界的可能性。长话短说,这是一种无需刷新页面即可与服务器通信的方式,从而实现更流畅的 UI 和 UX。

      【讨论】:

        【解决方案4】:

        考虑它的最简单方法是,它允许您在不重新加载页面的情况下获取数据。

        想想当您四处拖动时,Google 地图是如何加载地图的一部分的 - 它显然不会加载整个世界的地图。

        在较旧的地图站点中,您单击左、右、上或下箭头,页面会重新加载并显示新数据。

        AJAX 让您让页面感觉更快、更流畅。

        技术上通常使用 JSON 代替 XML,因为它比 XML 更 Javascripty。

        大多数网站可能在某处或其他地方使用它,从在主要内容之后加载侧边栏小部件到整个应用程序,如 Gmail。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-10-28
          • 1970-01-01
          • 2021-10-27
          • 2013-11-21
          • 2011-12-11
          • 2020-09-07
          • 1970-01-01
          • 2013-09-06
          相关资源
          最近更新 更多