什么*确切*是AJAX?

时间:2012-04-08 00:57:08

标签: ajax

我知道AJAX代表什么。我非常了解javascript。但坦率地说,我不清楚AJAX是什么。

因为我所知道的只是XMLHttpRequest(),但它必须远不止于此。有人可以更清楚地解释AJAX如何不仅仅是普通JavaScript的某个方面吗?我看不出它有什么不同。

编辑:我也明白,它允许您更新页面而无需重新加载。我知道,这太棒了。但我仍然没有看到它比标准JavaScript更重要。

5 个答案:

答案 0 :(得分:5)

好吧,这不像是魔法或其他东西。它确实普通的Javascript,它是普通的XML(或JSON,或其他一些数据格式)。它在浏览器中运行。这些都不是特别新颖或新颖的。微软在1996年谈论“DHTML”,并于1997年正式发布。

但是结合这些现有的东西,是一种足够普遍且有用的方法,可以获得特定的名称。 AJAX指的是 使用异步请求的模式,在浏览器中运行的Javascript逻辑中驱动,以XML格式或其他方式检索数据。通常,检索到的数据会以某种方式用于更新HTML页面,而不会导致整页刷新。

你说你看不出那是什么比标准的JavaScript。 在浏览器中使用Javascript,你可以做一些简单的事情,比如运行一个在它到期后弹出警报的计时器。或者您可以对背景颜色执行淡出。或者做手风琴弹出窗口等jQuery效果。或者按不同的列动态排序HTML表。甚至可以使用Javascript在文本框中自动完成。这些都会导致UI更新,但它们不一定会检索任何数据。 (在某些情况下,自动完成会这样做,但通常不会这样做)。

AJAX始终涉及通信和数据检索,因此它与“标准Javascript”不同。

答案 1 :(得分:3)

我认为要获得理解,你必须研究XMLHttpRequest的来源。它当时不是JavaScript的标准部分。您无法使用纯JavaScript从浏览器发出异步HTTP请求。 XMLHttpRequest对象最初由Microsoft在IE5中作为ActiveX控件引入。因此,考虑到这一点,我们今天使用JavaScript的方式已经从一个更简单的场景发展而来。

我建议你阅读维基百科页面 - 特别是历史部分。对于阿贾克斯来说,没有任何明显的美妙,它只是当时一种新的做事方式的一个创造性术语,并且它被卡住了。

http://en.wikipedia.org/wiki/AJAX

特别是阅读权威文章 http://www.adaptivepath.com/ideas/ajax-new-approach-web-applications - 这可能是了解Ajax来自哪里以及它实际意味着什么的最佳方式。可能最重要的是

  

定义Ajax

     

Ajax不是一种技术。它实际上是几种技术   以自己的方式蓬勃发展,以强大的新方式走到一起。   Ajax包含:

     
      
  • 使用XHTML和CSS的基于标准的演示文稿;
  •   
  • 使用文档对象模型进行动态显示和交互;
  •   
  • 使用XML和XSLT进行数据交换和操作;
  •   
  • 使用XMLHttpRequest进行异步数据检索;
  •   
  • 和JavaScript将所有内容绑定在一起。
  •   

如上所述,Ajax的确切定义现在很难确定。随着浏览器的发展,这些方法很容易自我更新,但这些是其构思的基本原则。

答案 2 :(得分:0)

“异步Javascript和XML” - 你是对的,它实际上只是Javascript的一个组件。从服务器端来看,它几乎没有:服务器不知道或不关心它是在发出AJAX请求还是“正常”请求(当然,Web应用程序会知道并关心)。它恰好是着名的并且有一个花哨的首字母缩略词,因为它在设计网站时非常有用。

编辑:W3规范的定义http://www.w3.org/TR/XMLHttpRequest/

  

XMLHttpRequest规范定义了一个API,它提供脚本客户端功能,用于在客户端和服务器之间传输数据。

答案 3 :(得分:-1)

这是一种在不刷新页面的情况下异步获取和向服务器发送数据的方法。交换的数据曾经只是XML(AJAX中的“X”),现在可以是其他东西(例如JSON甚至是JSONP)。

答案 4 :(得分:-1)

JavaScript发生在客户端。 Ajax使用javascript从服务器接收REMOTE响应而不加载页面。