我知道AJAX代表什么.我非常了解javascript.但坦率地说,我不清楚AJAX是什么.
因为我所知道的只是XMLHttpRequest(),但它必须远不止于此.有人可以更清楚地解释AJAX如何不仅仅是普通JavaScript的某个方面吗?我看不出它有什么不同.
编辑:我也明白,它允许您更新页面而无需重新加载.我知道,这太棒了.但我仍然没有看到它是如何比标准的JavaScript更多.
好吧,这不是它的神奇之处.它确实是普通的Javascript,它是普通的XML(或JSON,或其他一些数据格式).它在浏览器中运行.这些都不是特别新颖或新颖的.微软在1996年谈论"DHTML",并于1997年正式发布.
但是结合这些现有的东西,是一种足够常见且足够有用以获得特定名称的方法. AJAX指的是使用异步请求的模式,在浏览器中运行的Javascript逻辑中驱动,以XML格式或其他方式检索数据.通常,检索到的数据然后用于以某种方式更新HTML页面,而不会导致整页刷新.
你说过你没有看到它比标准JavaScript更重要. 在浏览器中使用Javascript,你可以做一些简单的事情,比如运行一个在它到期后弹出警报的计时器.或者您可以对背景颜色执行淡出.或者做手风琴弹出窗口等jQuery效果.或者按不同的列动态排序HTML表.甚至可以使用Javascript在文本框中自动完成.这些都会导致UI更新,但它们不一定会检索任何数据.(在某些情况下,自动完成会这样做,但通常不会这样做).
AJAX总是涉及通信和数据检索,因此它与"标准Javascript"不同.
我认为要获得理解,您必须研究 XMLHttpRequest 的来源。当时它还不是 JavaScript 的标准部分。您无法使用纯 JavaScript 从浏览器发出异步 HTTP 请求。XMLHttpRequest 对象首先由 Microsoft 在 IE5 中作为 ActiveX 控件引入。因此,考虑到这一点,我们今天使用 JavaScript 的方式已经从一个简单得多的场景演变而来。
\n\n我建议您阅读维基百科页面 - 特别是历史部分。Ajax 并没有什么明显的神奇之处,它只是一个创造的术语,用来描述当时的一种新的做事方式,而且它已经被卡住了。
\n\nhttp://en.wikipedia.org/wiki/AJAX
\n\n特别是阅读权威文章 http://www.adaptivepath.com/ideas/ajax-new-approach-web-applications - 这可能是了解 Ajax 的来源及其实际含义的最佳方式。或许最重要的是
\n\n\n\n\n定义 Ajax
\n\nAjax 不是一种技术。它\xe2\x80\x99 实际上是多种技术,每种\n 都以其自身的优势蓬勃发展,并以强大的新方式结合在一起。\n Ajax 包含:
\n\n\n
\n- 使用 XHTML 和 CSS 的基于标准的演示;
\n- 使用文档对象模型进行动态显示和交互;
\n- 使用 XML 和 XSLT 进行数据交换和操作;
\n- 使用 XMLHttpRequest 进行异步数据检索;
\n- 和 JavaScript 将所有内容绑定在一起。
\n
如前所述,现在很难确定 Ajax 的确切定义。这些方法很容易随着浏览器的发展而自我更新,但这些是其构想时的基本原则。
\n