我必须开始在项目中使用 AJAX,但我不知道从哪里开始。有人可以帮忙吗?
21 回答
一个同步的J avaScript A和X ml。一种通过 HTTP 在 Web 浏览器和服务器之间实现双向、脚本驱动的通信的技术。
也可以看看:
编辑:正如 Nosredna 所指出的,JSON通常用于代替 XML。
英文的粗略想法:
你有一个网页。某些事件(可以是按钮按下或其他表单事件,或者只是由计时器触发的事件)发生并触发 JavaScript 代码,该代码向服务器询问新信息(例如 GOOG 股票的最新价值)。
服务器上有一段代码收集您传递的信息并将一些信息发回。这与服务器通常具有的页面服务工作不同。
当服务器应答时,将使用来自服务器的信息调用回调函数(您在对服务器的 JavaScript 调用中指定的)。您的 JavaScript 代码使用这些信息来更新一些东西——比如 GOOG 股票图表。
不要与更清洁的技术术语AJAX混淆,它实际上是在描述一个框架,或者更好地描述为一种使用 XML 和 JavaScript 对服务器端代码进行异步调用的技术......
虽然上面的许多示例显示了如何创建所有 XML Request 对象,但如果您查看 Microsoft 为 ASP.NET 应用程序或 jQuery 提供的 AJAX 控件工具包,您会发现这些更易于使用。
jQuery 示例(来自jQuery站点):
当代码被命中时, some.php 文件被命中,传递名称和位置值。
<script type="javascript">
function saveDataAjax(){
$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
}
</script>
<input type="submit" onClick="saveDataAjax();" value="submit" />
这是一个流行语,它的本质是:
使用 Javascript 发出异步 HTTP 请求(在后台)。
当内容到达时,采取行动,通常执行一些逻辑,然后通过操作 DOM 树来更新页面的外观;含义,插入新的 HTML 元素,删除一些 html 元素等。
AJAX 中的 X 代表 XML,但它无关紧要。XML 只是格式化服务器发送的数据的众多方法之一。JSON 是一个更好的选择(IMNSHO)。此外,服务器可以发送纯文本或仅发送常规 html。
这里的关键字是异步请求。在后台发生的请求,无需浏览器重新加载页面。
来自实用的 Ajax书:
什么是阿贾克斯?
Ajax 是一头很难提炼成单行的野兽。之所以这么难,是因为它有两个方面:
- Ajax 可以看作是一组技术。
- Ajax 可以被视为一种架构。
Ajax:异步 JavaScript 和 XML
Ajax 的名称来自于其支持技术的捆绑:浏览器和服务器、JavaScript 和 XML 之间的异步通信通道。当它被定义时,它被设想如下:
- 使用 XHTML 和 CSS 的基于标准的表示
- 使用浏览器的 DocumentObject Model (DOM) 进行动态显示和交互
- 使用 XML 和 XSLT 进行数据交换和操作
- 使用 XMLHttpRequest 或 XMLHTTP(来自 Microsoft)的异步数据检索
- JavaScript 将所有东西绑定在一起
尽管使用这些支持技术进行开发很常见,但它很快就会变得麻烦多于回报。
正是由于这些原因,Ajax 更重要的定义是……
阿贾克斯:架构
Ajax 令人兴奋的发展在于您如何构建 Web 应用程序。让我们首先看一下传统的 Web 架构:
- 为应用程序中的每个事件定义一个页面:查看项目、购买项目、结帐等等。
- 每个事件或操作都会将一个完整页面返回给浏览器。
- 该页面呈现给用户。
现在这对我们来说似乎很自然。这在 Web 开始时是有意义的,因为 Web 并不是真正的应用程序。Web 一开始更像是一个文档存储库。在这个世界中,您可以简单地以临时方式链接文档。它是关于文档和数据共享,而不是任何有意义的交互性。
想象一下一个丰富的桌面应用程序。想象一下,如果在每次点击时,应用程序屏幕上的所有组件都从头开始重新绘制,您会怎么想。似乎有点疯狂,不是吗?在 Web 上,这就是我们在 Ajax 出现之前居住的世界。
Ajax 是一种新的架构。该架构的重要部分是:
小型服务器端事件:现在,Web 应用程序中的组件可以向服务器发出小型请求,获取一些信息,并通过更改 DOM 来调整查看的页面。没有整页刷新。
异步:发回服务器的请求不会导致浏览器阻塞。用户可以继续使用应用程序的其他部分,并且可以更新 UI 以提醒用户正在发生请求。
onAnything:我们几乎可以根据用户所做的任何事情与服务器进行交互。现代浏览器捕获大多数与操作系统相同的用户事件:鼠标悬停、鼠标单击、按键等。任何用户事件都可能导致异步请求。
这一切听起来都很棒,不是吗?但是,随着这种变化,我们必须小心。Web 最伟大的事情之一就是任何人都可以使用它。拥有简单的语义有助于实现这一点。如果我们太过分了,我们可能会开始用新的 UI 抽象让用户感到惊讶。这是对 Flash UI 的常见抱怨,用户会遇到新的符号、隐喻以及为获得有用结果所需的操作。
最常见的是,它指的是在浏览器中通过 JavaScript* 使用 XMLHttpRequest 对象。
根据您询问的对象,它可用于描述几乎任何类型的通过 HTTP 的客户端/服务器通信,而不仅仅是在浏览器中键入 URL。
*jQuery 提供了一些很好的包装代码来处理跨浏览器的差异等。
Ajax 有点用词不当。引用维基文章:
尽管名称如此,但实际上并不需要使用 JavaScript 和 XML,请求也不需要是异步的。
而现在大多数人称“ajax”为任何类型的
在后台与服务器通信的 Web 应用程序
http://www.w3schools.com/Ajax/Default.Asp
这是一个很好的起点。这应该回答你所有的问题。
“Ajax”是早在 2005 年推出的成功营销术语,以取代不太适用的旧术语“DHTML”。随着新词“HTML5”的出现,今天的“Ajax”也成为历史的一部分。仍然“HTML5”与原来的“DHTML”差不多。
Ajax 也被称为“应用程序开发的新方法”,最初在服务器上创建网页,但后来,在其生命周期中,随着数据或部分内容被传送到客户端,更新正在客户端上完成服务器在后台。
希望这可以澄清。
只是补充一下..可能与问题无关..虽然,AJAX在他们的浏览器电子邮件中被Gmail出名..AJAX的功劳归于微软..他们创造了AJAX的东西..
Creative use of previously known technology. Both the browser side scripting and programmatic access to data on the server have been known before. In AJAX it has been put together for innovative use anabling new applications of thechology known before. The REST comes to mind as similar type of advance...
AJAX 代表异步 JavaScript 和 XML,尽管它不再总是处理 XML 数据。从本质上讲,它归结为通过在客户端上运行的 JavaScript 使用 XMLHttpRequest 对象来发出 Web 请求并检索一些用于更新页面状态的信息,而无需刷新页面。
从一个基本教程开始,该教程向您展示如何使用简单的 Ajax 发出异步请求,例如http://www.w3schools.com/Ajax/Default.asp,然后再继续在生产级应用程序中使用它。
在应用程序中使用它时,最好研究一种常见的 JavaScript 框架,该框架抽象出各种浏览器之间的差异,并在请求返回后轻松操作页面。我个人推荐http://www.jquery.com/
我将Head First AJAX作为我的第一本 AJAX 参考书阅读,我发现它提供了一个简单实用的 AJAX 概述。
AJAX 是一个非常奇特的术语,它使浏览器能够刷新其部分内容而需要重新加载整个页面。就像许多人所说的那样,它不需要 XML,甚至不需要 Javascript 来实现它。事实上,在早期,它是用 VBScript 和 Jscript 完成的,只是称为 DHTML。 Jesse James Garrett 可能发明了 AJAX 术语,但实际上是微软发明了它背后的概念。
该消息来源称微软于 1999 年开始使用它,但我会更进一步地确定这项技术的诞生日期。这篇连线文章可能更准确地描述了这项技术在 90 年代后期的日期,其中大部分来自微软 Michael Wallent 于 1997 年开始撰写的MSDN DHTML Dude 专栏的旧时代。故事的大部分内容是迈克尔本人也在这段精彩的视频中讲述:http : //channel9.msdn.com/posts/Charles/Michael-Wallent-Advent-and-Evolution-of-WPF/ 顺便说一下,梅根仍在微软工作Silverlight 团队时下,微软的ActiveX替代品。
回到 AJAX 事物……当 Jesse James Garrett 回到 2005 年时,他主要谈论的是在 Javascript 代码中使用XMLHTTPRequest以及少许盐。后来开始了一个时髦的词,许多人开始使用它,即使他们不知道它是什么,并认为这真的是全新和时髦的东西,实际上它只是旧东西的混音......有点像你现在听到的许多嘻哈歌曲。
这不是新的,只是旧东西的更新版本!
AJAX 非常简单:有人认为能够向服务器发送内容并从中接收内容而不重新加载页面会很酷。
AJAX 不是一场革命,它只是简单事物的名称:网页可以向服务器发送请求而无需重新加载——这里只是一些异步的东西。
您可以在您的网页上添加 AJAX 控件而无需任何工作 - 只需使用 Visual Studio 将它们拖入即可。您可能需要为他们添加一些管理器,但这只是一个拖放任务。
但请注意:流氓网络浏览器通常不会使用与 IE 相同的 AJAX 语言...
:)
我会试一试并说“这是一个基于 W3C(JavaScript、HTML 和 CSS)解决方案的概念,用于构建在浏览器中运行在 Web 上的富应用程序”
我猜其他的一切都只是“技术细节”...... ;)
PS!- 惊人的问题......!;)
AJAX(异步 JavaScript 和 XML)是两个强大的浏览器功能的新创造术语,它们已经存在多年,但直到最近当 Gmail、Google Suggest 和 Google Maps 等应用程序出现时才被许多 Web 开发人员忽视。要了解更多关于 Ajax 的信息,请学习Ajax 教程
AJAX =一个同步的J avaScript和X ML。
AJAX 是一种用于创建快速和动态网页的技术。
AJAX 允许通过在后台与服务器交换少量数据来异步更新网页。这意味着可以更新网页的某些部分,而无需重新加载整个页面。
如果内容发生变化,经典网页(不使用 AJAX)必须重新加载整个页面。
使用 AJAX 的应用程序示例:Google 地图、Gmail、Youtube 和 Facebook 选项卡。(来自w3school)。简单理解:当我们请求链接或提交表单时,我们会向服务器同步请求数据。网页销毁当前页面并重新生成新页面。但是使用 AJAX 浏览器可以发送相同的请求而无需重新绘制整个页面。
它是 JavaScript,但它可以工作。