什么是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架构:
- 为应用程序中的每个事件定义一个页面:查看项目,购买项目,签出等等。
- 每个事件或动作都会将完整的页面返回给浏览器。
- 该页面呈现给用户。
这对我们来说现在看来很自然。 它在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,但它的作品。
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。