什么是AJAX,真的吗?

我必须开始在一个项目中使用AJAX,我不知道从哪里开始。 有人可以帮忙吗?

同步J avaScript和X毫升。 一种通过HTTP在Web浏览器和服务器之间实现脚本驱动的双向通信的技术。

也可以看看:

  • 在维基百科的定义
  • AJAX介绍w3schools
  • 关于Ajax课程的Ajax Workshop 1

编辑:正如Nosredna指出的那样, JSON经常用来代替XML。

英文粗略的想法:

你有一个网页。 某些事件(可能是button按下或其他forms的事件,或者只是由计时器触发的事件)会触发JavaScript代码,要求服务器提供新的信息(如GOOG股票的最新价值)。

服务器上有一段代码可以收集您传递的信息并发回一些信息。 这与服务器通常具有的页面服务工作不同。

当服务器应答时,将使用来自服务器的信息来调用callback函数(在JavaScript调用中指定给服务器)。 您的JavaScript代码使用信息来更新某些内容 – 例如GOOG股票图表。

不要与更清洁的 AJAX 技术术语相混淆,它实际上是描述了一个框架,或者更好地说是使用XML和JavaScript对服务器端代码进行asynchronous调用的技术。

这里有一些很好的代码示例 。 还有一些。

尽pipe上面的许多示例展示了如何创build所有的XML Request对象,但如果您从Microsoft为ASP.NET应用程序或jQuery查看AJAX Control Toolkit,则会发现这些对象更易于使用。

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" /> 

这是一个stream行词,其实质是:

使用Javascript进行asynchronousHTTP请求(在后台)

当内容到达时,会采取行动,通常执行一些逻辑,然后通过操纵DOM树来更新页面的外观; 意思是插入新的HTML元素,删除一些html元素等

AJAX中的X代表XML,但不相关。 XML只是格式化服务器发送的数据的许多方法之一 。 JSON是一个更好的select(IMNSHO)。 此外,服务器可以发送纯文本或只是普通的HTML。

这里的关键字是asynchronous请求。 在后台发生的请求,而浏览器不必重新加载页面。

通常,它指的是在浏览器中通过JavaScript *使用XMLHttpRequest对象。

根据你的要求,除了在浏览器中inputURL之外,它可以用来描述几乎所有types的客户/服务器通过HTTP通信。

* jQuery提供了一些很好的包装代码来处理跨浏览器的差异等。

从实用的Ajax书:

什么是Ajax?

阿贾克斯是一个很难被提炼成单线的野兽。 这么难的原因是它有两面性:

  • Ajax可以被看作是一套技术。
  • Ajax可以被看作是一个架构。

Ajax:asynchronousJavaScript和XML

Ajax的名字来源于其支持技术的捆绑:浏览器和服务器之间的asynchronous通信渠道,JavaScript和XML。 当它被定义时,它被设想如下:

  • 使用XHTML和CSS进行基于标准的演示
  • 使用浏览器的DocumentObject Model(DOM)dynamic显示和交互
  • 使用XML和XSLT进行数据交换和操作
  • 使用XMLHttpRequest或XMLHTTP进行asynchronous数据检索(来自Microsoft)
  • JavaScript将所有内容绑定

尽pipe使用这些有利的技术是很常见的,但它很快就会变得比奖励更麻烦。

正是由于这些原因,对Ajax更重要的定义是…

Ajax:架构

Ajax令人兴奋的进化就是如何构buildWeb应用程序。 我们先来看看传统的Web架构:

  1. 为应用程序中的每个事件定义一个页面:查看项目,购买项目,签出等等。
  2. 每个事件或动作都会将完整的页面返回给浏览器。
  3. 该页面呈现给用户。

这对我们来说现在看来很自然。 它在Web开始的时候是有意义的,因为Web并不是真的关于应用程序。 Web开始成为更多的文档库; 在这个世界中,您可以通过特别的方式简单地链接文档。 这是关于文件和数据共享,而不是任何有意义的交互性。

一个丰富的桌面应用程序的图片一会儿。 想象一下,如果在每次点击时应用程序屏幕上的所有组件都从头开始重新开始,您会怎么想。 似乎有点坚果,不是吗? 在networking上,这是我们居住的世界,直到阿贾克斯出现。

Ajax是一个新的架构。 这个架构的重要部分是:

  • 小型服务器端事件:现在,Web应用程序中的组件可以向服务器发送小的请求,获取一些信息,并通过更改DOM来调整查看的页面。 没有整页刷新。

  • asynchronous:回发到服务器的请求不会导致浏览器阻塞。 用户可以继续使用应用程序的其他部分,并且可以更新UI以提醒用户请求正在发生。

  • onAnything:我们可以根据用户所做的任何事情与服务器进行交互。 现代浏览器捕获与操作系统大部分相同的用户事件:鼠标hover,鼠标点击,按键等。任何用户事件都可能导致asynchronous请求。

这一切听起来不错,不是吗? 尽pipe如此,我们必须小心谨慎。 networking最伟大的事情之一就是任何人都可以使用它。 简单的语义有助于发生。 如果我们太过分了,我们可能会开始让新用户界面抽象的用户感到惊讶。 这是一个常见的投诉与Flash用户界面,用户面临新的符号,隐喻,并采取必要的行动,以取得有用的结果。

阿贾克斯是有点用词不当。 引用维基文章:

尽pipe如此,实际上并不需要使用JavaScript和XML,请求也不需要是asynchronous的。

而现在大多数人称之为“阿贾克斯”的任何types

在后台与服务器通信的Web应用程序

http://www.w3schools.com/Ajax/Default.Asp

那是一个开始的好地方。 这应该回答你所有的问题。

“Ajax”是2005年推出的一个成功的营销术语,用来代替旧式的“DHTML”,这个术语并不好。 今天的“阿贾克斯”也是历史的一部分,随着新词“HTML5”的出现。 仍然“HTML5”几乎是原来的“DHTML”曾经是。

Ajax也被认为是“应用程序开发的新方法”,最初在服务器上创build一个网页,但后来,在其生命周期中,随着数据或部分内容被传递到客户端,客户端正在进行更新在后台的服务器。

希望澄清。

只是添加..可能是不相关的问题..虽然,在浏览器的电子邮件中,AJAX是由Gmail着名的.. AJAX的荣誉去微软..他们创造了AJAX的东西..

这是JavaScript,但它的作品。

我相信最快最简单的方法就是使用jQuery:

http://jquery.com/

http://docs.jquery.com/Ajax/jQuery.ajax#examples

AJAX代表asynchronous的JavaScript和XML,但它并不总是处理XML数据。 从本质上讲,可以归结为通过在客户端上运行的JavaScript来使用XMLHttpRequest对象来发出Web请求,并检索一些用于更新页面状态而不需要刷新页面的信息。

从一个基本教程开始,向您展示如何在生产级应用程序中使用裸骨骼Ajax来制作asynchronous请求,例如http://www.w3schools.com/Ajax/Default.asp

当在一个应用程序中使用它时,您最好研究一下通用的JavaScript框架,这个框架可以抽象出不同浏览器之间的差异,并且在请求返回后很容易处理页面。 我个人推荐http://www.jquery.com/

我读了Head First AJAX作为我的第一个AJAX参考,我发现它给了一个简单而实用的AJAX概述。

创造性地使用以前已知的技术。 浏览器端脚本和编程访问服务器上的数据都是以前就知道的。 在AJAX中,它已被放在一起用于创新使用,使以前已知的新的应用成为可能。 REST是一种类似的进步…

AJAX非常简单:某个地方有人认为能够发送一些东西到服务器并从中接收一些东西,而不用重新加载一个页面,这是很酷的。

AJAX不是一场革命,它仅仅是一个简单的名字:一个网页可以发送一个请求到服务器而不用重新加载 – 这里只是一些asynchronous的东西。

你可以在你的网页上添加AJAX控件,而不需要任何作品 – 只要将它们拖放到Visual Studio中即可。 您可能需要为其添加一些pipe理员,但这只是一个拖放任务。

但要注意的是:stream氓网页浏览器通常不会像IE一样使用AJAX语言。

🙂

AJAX是让浏览器能够刷新其内容的一部分,并需要重新加载整个页面的一个很好的术语。 像许多人所说,它不需要XML,甚至是为了实现它的Javascript。 实际上,在早期的时候,它已经与VBScript和Jscript一起完成了,只是叫做DHTML。 杰西·詹姆斯·加勒特(Jesse James Garrett)可能已经发明了AJAX术语 ,但是微软发明了这个概念。

这个消息来源说,微软在1999年就开始了这项技术,但是我希望这项技术的诞生会更进一步。 这篇有线文章可能在90年代后期更为准确,大部分是来自微软的迈克尔·沃尔伦(Michael Wallent)于1997年创build的MSDN DHTML Dude专栏的旧版本。这些文章的大部分内容是在这个伟大的video也告诉了Michael自己: http : //channel9.msdn.com/posts/Charles/Michael-Wallent-Advent-and-Evolution-of-WPF/ Megan依然在微软工作Silverlight团队时下,微软取代了ActiveX 。

回到AJAX的东西……当Jesse James Garrett回到2005年的时候,他主要谈论的是在Javascript代码中使用XMLHTTPRequest ,以及一些盐。 后来这个词开始stream传,许多人开始使用,即使他们不知道它是什么,并认为这真是一个全新的,时髦的,当它真的只是一个旧的混音…有点像现在你听到很多嘻哈歌曲。

这不是新的,只是旧的更新版本!

我会试一试说, “这是一个基于W3C的(JavaScript,HTML和CSS)解决scheme的概念,用于构build在浏览器上在networking上运行的Rich Applications”

其他的一切都只是“技术细节”,我猜…)

PS! – 令人惊叹的问题…! ;)

AJAX(asynchronousJavaScript和XML)是两个function强大的浏览器function新近出现的术语,这些浏览器function已经存在多年,但直到最近Gmail,Google Suggest和Google Maps等应用程序在街道上出现时才被许多Web开发人员所忽视。 了解更多关于Ajax的信息学习Ajax教程

这是一个清洁产品。

它也代表了非常酷的东西,用一种非常可恨的编程语言来构build。