什么是AJAX,真的吗?

Mic*_*ohn 19 ajax definition

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

Cor*_*old 27

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

也可以看看:

编辑:正如Nosredna所指出的,JSON通常用于代替XML.

  • 除了XML通常是JSON.:-) (8认同)
  • 哈哈.或者通常它只是一个简单的字符串.也许它应该是"AJAS". (4认同)

Nos*_*dna 18

英文粗略的想法:

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

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

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

  • 简单易懂的介绍.唯一需要选择的是当你说"这与服务器通常拥有的页面服务工作不同"时,唯一的区别是所提供的内容不是由HTML引擎直接使用,而是用于JavaScript代码. (2认同)

RSo*_*erg 15

不要与清洁工混淆,技术术语 AJAX 真正描述了一个框架,或者更好地说明了使用XML和JavaScript对服务器端代码进行异步调用的技术......

这是一些很好的代码示例.而一些.

虽然上面的许多示例都显示了如何创建所有XML Request对象,但如果您从Microsoft查看ASP.NET应用程序或jQuery的AJAX Control Toolkit,您会发现这些更容易使用.

jQuery Sample(来自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" />
Run Code Online (Sandbox Code Playgroud)

  • 我称之为技术.虽然XMLHttpRequest对象通常强加一个熟悉的结构,并且对AJAX(XML数据传输)的原始含义有严格的解释,但在实践中,该术语涵盖了更广泛的特定实践和技术集合,包括通过iframe和所有方式实现的那些数据格式 (3认同)
  • Pedantry:尽管存在许多包含AJAX技术的框架,但AJAX并不是一个真正的框架. (2认同)
  • 哇.谈论混乱.AJAX不一定是异步,JavaScript或XML,而AJAX足球队不需要踢足球 - 他们可以踢足球! (2认同)

has*_*sen 6

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

使用Javascript发出异步HTTP请求(在后台).

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

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

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


ste*_*r25 5

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

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

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


eKe*_*ek0 5

Pragmatic Ajax书中:

什么是Ajax?

阿贾克斯是一个辛辣的野兽,可以提炼成一个单行.它之所以如此艰难,是因为它有两个方面:

  • Ajax可以被视为一组技术.
  • Ajax可以被视为一种架构.

Ajax:异步JavaScript和XML

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

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

尽管使用这些支持技术进行开发是很常见的,但它很快就会变得比奖励更麻烦.

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

Ajax:架构

令人兴奋的Ajax演变在于您如何构建Web应用程序.让我们先看看传统的Web架构:

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

这对我们来说似乎很自然.它在Web开始时是有意义的,因为Web实际上并不是关于应用程序.Web开始时更像是一个文档存储库; 这是一个你可以简单地以特别的方式在文档之间链接的世界.它涉及文档和数据共享,而不是任何有意义的交互性.

暂时想象一下丰富的桌面应用程序.想象一下,如果每次点击,应用程序屏幕上的所有组件都从头开始重新编写,您会怎么想.好像有点坚果,不是吗?在网络上,这是我们居住的世界,直到阿贾克斯出现.

Ajax是一种新架构.该架构的重要部分是:

  • 小型服务器端事件:现在组件在Web应用程序可以让小请求返回到服务器,获得一些信息,并调整是通过改变DOM查看的页面.没有整页刷新.

  • 异步:发回服务器的请求不会导致浏览器阻止.用户可以继续使用应用程序的其他部分,并且可以更新UI以警告用户正在发生请求.

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

这听起来很棒,不是吗?但是,通过这种改变,我们必须要小心.Web的最大优点之一是任何人都可以使用它.具有简单的语义有助于实现这一点.如果我们过度使用,我们可能会开始使用新的UI抽象让用户感到惊讶.这是对Flash UI的常见抱怨,其中用户面临新符号,隐喻和实现有用结果所需的操作.


Rob*_*ner 3

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

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