什么是AJAX,真的吗?

时间:2009-06-05 20:44:23

标签: ajax definition

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

22 个答案:

答案 0 :(得分:27)

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

另见:

编辑正如Nosredna所指出的,JSON通常用来代替XML。

答案 1 :(得分:18)

英文粗略的想法:

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

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

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

答案 2 :(得分:15)

不要与cleaner混淆,AJAX,the technology term,实际上是在描述一个框架,或者更好地说明了使用XML和JavaScript对服务器端代码进行异步调用的技术......

以下是一些好code samples。还有一些more

虽然上面的许多示例都展示了如何创建所有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" />

答案 3 :(得分:6)

这是一个流行语,它的本质是:

使用Javascript制作异步HTTP请求(在后台)

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

AJAX中的X代表XML,但它无关紧要。 XML只是 one 中的许多方式来格式化服务器发送的数据。 JSON是一个更好的选择(IMNSHO)。此外,服务器可以发送纯文本或只是常规的HTML。

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

答案 4 :(得分:5)

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

根据您的要求,它可以用于描述几乎任何类型的客户端/服务器通过HTTP进行通信,而不仅仅是在浏览器中键入URL。

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

答案 5 :(得分:5)

来自Pragmatic Ajax书:

  

什么是Ajax?

     

阿贾克斯是一个疯狂的野兽   需要一行代码。这么难的原因是   因为它有两面:

     
      
  • Ajax可以被视为一组   技术。
  •   
  • 可以查看Ajax   作为一种建筑。
  •   
     

Ajax:异步JavaScript和   XML

     

Ajax这个名字来自捆绑   其支持技术:   异步通信通道   在浏览器和服务器之间,   JavaScript和XML。什么时候   定义,它被设想为   以下内容:

     
      
  • 使用XHTML和CSS的基于标准的演示文稿
  •   
  • 使用浏览器的DocumentObject动态显示和交互   模型(DOM)
  •   
  • 使用XML和XSLT进行数据交换和操作
  •   
  • 使用XMLHttpRequest或XMLHTTP进行异步数据检索(来自   微软)
  •   
  • JavaScript将所有内容绑定在一起
  •   
     

虽然开发使用很常见   这些启用技术,它可以   很快变得比较麻烦   奖励。

     

由于这些原因,更多   Ajax的重要定义是......

     

Ajax:架构

     

令人兴奋的演变是Ajax   在如何构建Web应用程序。   让我们先看看传统的   网络架构:

     
      
  1. 为应用程序中的每个事件定义一个页面:查看项目,购买   物品,退房等。
  2.   
  3. 每个事件或操作都会将整页返回给浏览器。
  4.   
  5. 该页面呈现给用户。
  6.         

    现在这对我们来说很自然。它做了   感觉在网络的开头,如   网络并不是真的   应用。网络起初是   更多的文档存储库;它是   一个你可以简单链接的世界   以特别的方式在文件之间。它   是关于文档和数据共享,   没有任何有意义的交互性   感。

         

    为图片提供丰富的桌面应用程序   片刻。想象一下你会怎么想   如果,每次点击,所有的   应用程序屏幕上的组件   从头开始。似乎有点   坚果,不是吗?在网上,那是   我们居住的世界直到阿贾克斯来了   沿。

         

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

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

    •   
    • 异步:发回服务器的请求不会导致   浏览器阻止。用户可以   继续使用的其他部分   应用程序,UI可以更新   提醒用户请求是   发生。

    •   
    • onAnything:我们几乎可以根据任何事情与服务器进行交互   用户这样做。现代浏览器陷阱   大多数相同的用户事件   操作系统:鼠标悬停,鼠标   点击,按键等任何用户   事件可能导致异步   请求。

    •   
         

    这听起来很棒,不是吗?   有了这个改变,我们必须做到   但是要小心。其中最伟大的   关于网络的事情是任何人   可以使用它。有简单的语义   有助于实现。如果我们过火,   我们可能会开始让用户感到惊讶   使用新的UI抽象。这是一个   Flash UI的常见抱怨,在哪里   用户面临新的符号,   隐喻,以及必要的行动   取得有用的成果。

答案 6 :(得分:3)

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

这是一个很好的起点。这应该回答你的所有问题。

答案 7 :(得分:3)

Ajax有点用词不当。引用维基文章:

  

尽管名称,使用   实际上并不是JavaScript和XML   需要,请求也不需要   是异步的。

现在大多数人称“ajax”为任何类型的

  

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

答案 8 :(得分:2)

答案 9 :(得分:2)

“Ajax”是2005年推出的成功营销术语,用于替换旧版术语“DHTML”,该术语并不适用。今天的“Ajax”也是历史的一部分,因为“HTML5”这个新词出现了。 “HTML5”仍然是原来的“DHTML”。

Ajax也被称为“应用程序开发的新方法”,其中最初在服务器上创建网页,但稍后,在其生命周期中,更新将在客户端上作为数据或部分内容完成在后台与服务器通信。

希望这澄清。

答案 10 :(得分:1)

添加..可能与问题无关.. 虽然,AJAX在他们的浏览器电子邮件中因Gmail而闻名。但AJAX的功劳归于微软......他们创造了AJAX的东西..

答案 11 :(得分:0)

AJAX = A A同步的 J avaScript a nd X ML。< / p>

AJAX是一种用于创建快速动态网页的技术。

AJAX允许通过与后台服务器交换少量数据来异步更新网页。这意味着可以更新网页的某些部分,而无需重新加载整个页面

如果内容需要更改,经典网页(不使用AJAX)必须重新加载整个页面。

使用AJAX的应用程序示例:Google Maps,Gmail,Youtube和Facebook选项卡。(从w3school开始)。简单理解:当我们请求链接或提交表单时,我们向服务器同步请求数据。网页破坏当前页面并重新生成新页面。但是使用AJAX浏览器可以发送相同的请求,而无需重新绘制整个页面。

答案 12 :(得分:0)

AJAX(异步JavaScript和XML)是两个功能强大的浏览器功能的新创造术语,这些功能已经存在多年,但是直到最近,当Gmail,Google Suggest和Google Maps等应用程序出现时,许多Web开发人员都忽视了这一点。街道。 要了解有关Ajax的更多信息,请了解Ajax tutorial

答案 13 :(得分:0)

我会试一试说“这是基于W3C(JavaScript,HTML和CSS)解决方案的概念,用于构建Rich Applications以便在浏览器中在Web上运行”

其他一切只是“技术细节”我猜...;)

PS! - 令人惊讶的问题...... !! ;)

答案 14 :(得分:0)

AJAX是一个非常精彩的术语,它使浏览器能够刷新部分内容,同时需要重新加载整个页面。像许多人所说的那样,它不需要XML,甚至是Javascript来实现它。实际上在早期它已经完成了VBScript和Jscript并且刚刚调用了DHTML。 Jesse James Garrett may have invented the AJAX term,但真的是微软发明了它背后的概念。

This source says Microsoft started it in 1999,但我会更进一步说明这项技术的诞生。这个技术在90年代后期可能更加准确,Wired article可能更准确,其中大部分来自微软的迈克尔·沃伦特(Michael Wallent)于1997年创建的MSDN DHTML Dude columns的旧时代。迈克尔本人在这个伟大的视频中也讲述了这个故事:http://channel9.msdn.com/posts/Charles/Michael-Wallent-Advent-and-Evolution-of-WPF/梅根仍然在微软工作Silverlight team nowadays,微软代替ActiveX

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

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

答案 15 :(得分:0)

AJAX非常简单:某个地方有人认为能够向服务器发送内容并从中接收内容而不重新加载页面会很酷。

AJAX不是一场革命,它只是一个简单的名称:一个网页可以向服务器发送请求而不需要重新加载 - 这里只是一些异步的东西。

您可以在网页上添加AJAX控件,无需任何工作 - 只需使用Visual Studio将其拖入即可。您可能需要为它们添加一些管理器,但它只是一个拖放任务。

但要注意:流氓网页浏览器通常不会说与IE相同的AJAX语言......

:)

答案 16 :(得分:0)

创造性地使用以前已知的技术。以前已知浏览器端脚本和对服务器上的数据的编程访问。在AJAX中,它已经被整合在一起,用于创新用途,以及以前已知的神学新应用。 REST会被认为是类似的进步......

答案 17 :(得分:0)

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

答案 18 :(得分:0)

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

从一个基本教程开始,该教程向您展示如何使用简单的Ajax来生成http://www.w3schools.com/Ajax/Default.asp之类的异步请求,然后再继续在生产级应用程序中使用它。

在应用程序中使用它时,您最好调查一个常见的JavaScript框架,它可以抽象出各种浏览器之间的差异,并在请求返回后轻松操作页面。我个人推荐http://www.jquery.com/

答案 19 :(得分:0)

我相信最简单快捷的入门方式是使用jQuery:

http://jquery.com/

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

答案 20 :(得分:0)

这是JavaScript,但它确实有用。

答案 21 :(得分:-3)

这是一种清洁产品。

它也代表了一种非常酷的编程语言。