2017gary回归跑男了吗:AJAX是什么?

来源:百度文库 编辑:高考问答 时间:2024/05/02 13:19:56
希望可以简单话解释下~~谢谢

什么是Ajax

http://tech.163.com/school · 2005-09-08 17:36:55 ·
Ajax的定义

Ajax不是一个技术,它实际上是几种技术,每种技术都有其独特这处,合在一起就成了一个功能强大的新技术。Ajax包括:

XHTML和CSS
使用文档对象模型(Document Object Model)作动态显示和交互
使用XML和XSLT做数据交互和操作
使用XMLHttpRequest进行异步数据接收
使用JavaScript将它们绑定在一起

传统的web应用模型工作起来就象这样:大部分界面上的用户动作触发一个连接到Web服务器的HTTP请求。服务器完成一些处理---接收数据,处理计算,再访问其它的数据库系统,最后返回一个HTML页面到客户端。这是一个老套的模式,自采用超文本作为web使用以来,一直都这样用, 但看过《The Elements of User Experience》的读者一定知道,是什么限制了Web界面没有桌面软件那么好用。

图1: 传统Web应用模型(左)与Ajax模型的比较(右).

这种旧的途径让我们认识到了许多技术,但它不会产生很好的用户体验。当服务器正在处理自己的事情的时候,用户在做什么?没错,等待。每一个动作,用户都要等待。

很明显,如果我们按桌面程序的思维设计Web应用,我们不愿意让用户总是等待。当界面加载后,为什么还要让用户每次再花一半的时间从服务取数据?实际上,为什么老是让用户看到程序去服务器取数据呢? Ajax如何不同凡响

通过在用户和服务器之间引入一个Ajax引擎,可以消除Web的开始-停止-开始-停止这样的交互过程. 它就像增加了一层机制到程序中,使它响应更灵敏,而它的确做到了这一点。

不像加载一个页面一样,在会话的开始,浏览器加载了一个Ajax引擎---采用JavaScript编写并且通常在一个隐藏frame中。这个引擎负责绘制用户界面以及与服务器端通讯。Ajax引擎允许用异步的方式实现用户与程序的交互--不用等待服务器的通讯。所以用户再不不用打开一个空白窗口,看到等待光标不断的转,等待服务器完成后再响应。

图 2: 传统Web应用的同步交互过程(上)和Ajax应用的异步交互过程的比较(下).

通常要产生一个HTTP请求的用户动作现在通过JavaScript调用Ajax引擎来代替. 任何用户动作的响应不再要求直接传到服务器---例如简单的数据校验,内存中的数据编辑,甚至一些页面导航---引擎自己就可以处理它. 如果引擎需要从服务器取数据来响应用户动作---假设它提交需要处理的数据,载入另外的界面代码,或者接收新的数据---引擎让这些工作异步进行,通常使用XML, 不用再担误用户界面的交互。

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

    AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。

  AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。
  通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
  传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。

  中文名:阿贾克斯
  外文名:Asynchronous Javascript And XML
  表达式:ajax
  应用学科:IT
  适用领域:范围程序
  适用领域范围:web前端开发

AJAX介绍
1.AJAX概述
1.1产生背景
在旧的交互方式中,由用户触发一个HTTP请求到服务器,服务器对其进行处理后再返回一个新的HTML页到客户端,每当服务器处理客户端提交的请求时,客户只能空闲等待,哪怕只是一次很小的交互,比如从服务器端得到很简单的一个数据,都要返回一个完整的HTML页,而用户每次都要浪费时间和带宽去重新读取整个页面。这样的访问增加了服务器的负担,也增加了网络的传输负荷。针对这种缺陷2005年的2月18日Jesse James Garrett提出了AJAX的概念,但是相关的技术98年就诞生了,使用Ajax后用户从感觉上几乎所有的操作都会很快响应没有页面重载(白屏)的等待。
1.2定义
异步的Javascript和xml(Asynchronous JavaScript and XML)。AJAX并不是一门新的语言或技术,它实际上是几项技术按照一定的方式组合在一起,相互协作并且发挥各自的作用。
1.3简介
Ajax的一个最大的特点是无需刷新页面便可从服务器读写数据(又称无刷新更新页面),并利用javascript处理请求结果。应用程序只同服务器进行数据层面的交换,而不用每次都刷新界面,也不用每次将数据处理的工作提交给服务器来做,这样做既减轻了服务器的负担又加快了响应的速度,从而缩短了用户等候时间,它的应用是一种典型的Rich-client user interface engineer的实现。
Ajax的核心组件就是XMLHttpRequest,它是微软发明的,IE(IE5以上)通过允许开发人员在Web页面内部使用XMLHTTP ActiveX组件扩展自身的功能,开发人员不用从当前的Web页面导航,而直接传输数据到服务器上或者从服务器取数据。这个功能是很重要的,因为它帮助减少了无状态连接的痛苦,它还可以排除下载冗余的HTML,从而提高访问的速度。Mozilla(Mozilla1.0以上及NetScape7以上)做出的回应是创建它自己的继承XML代理类:XMLHttpRequest类。Konqueror (和Safari v1.2,同样也是基于KHTML的浏览器)也支持XMLHttpRequest对象,而Opera也将在其v7.6x+以后的版本中支持XMLHttpRequest对象。对于大多数情况,XMLHttpRequest对象和XMLHTTP组件很相似,方法和属性也类似,只是有一小部分属性不支持。
1.4现状和发展趋势
现在AJAX正处于一个快速的成长期,国内外很多web应用开发都加入了AJAX的设计思想。而且相关AJAX的开源项目也有很快的成长,先后有RICO,QOOXDOO,AMOWA等项目的兴起。google在这方面的应用相对多一些,它的googleSuggest,googleMap,Gmail都是AJAX应用的典型例子。J2EE在以后的规划中也加入了AJAX应用。
1.4.1AJAX的优点
1.4.1.1.减轻服务器的负担。因为AJAX的根本理念是“按需取数据”,所以最大可能的减少了冗余请求和响应对服务器造成的负担;
1.4.1.2.无刷新更新页面,减少用户实际和心理等待时间;
1.4.1.3.更好的用户体验;
1.4.1.4.也可以把以前的一些服务器负担的工作转嫁到客户端,利用客户端闲置的处理能力来处理,减轻服务器和网络的负担,节约网络租用成本;
1.4.1.5.面向AOP,Web Services的应用;
1.4.1.6.Ajax使WEB中的界面与应用分离(也可以说是数据与呈现分离);
1.4.1.7.对于用户和ISP来说是双赢的。
1.4.2AJAX的不足
1.4.2.1.一些手持设备(如手机、PDA等)现在还不能很好的支持Ajax;
1.4.2.2.用javaScript作的Ajax引擎,JavaScript的兼容性和DeBug都是让人头痛的事;
1.4.2.3.Ajax的无刷新重载,由于页面的变化没有刷新重载那么明显,所以容易给用户带来困扰――用户不太清楚现在的数据是新的还是已经更新过的;
1.4.2.4.对流媒体的支持没有FLASH、Java Applet好;
1.4.2.5.低版本的浏览器不支持有限制;
2.AJAX的技术介绍
2.1AJAX实现规范
符合Web标准(Web Standards Project ),使用 XHTML和CSS进行标准化呈现,鼓励使用div标签;
使用DOM实现动态显示和交互;
使用XML和XSLT进行数据交换与处理;
使用XMLHttpRequest进行异步数据读取;
最后用JavaScript绑定和处理所有数据;
2.2技术原理
AJAX并不是一项新的技术,它实际上是几项成熟技术的组合产品,主要用到的技术有XMLHTTPRequest,JavaScript,DOM,XML And XSLT,XHTML And CSS等。

Jquery是一个优秀的Javascript库。兼容各种浏览器使用户能更方便地处理HTML、events、实现动画效果,并且方便地为网站提供AJAX交互。

看了回答才知道自己孤陋寡闻啊。ajax是荷兰球队名字。