AJAX简介(转)

转载 2007年09月29日 22:36:00
如果要问做什么事是最有吸引力,那就是创建Web应用。毕竟,上次你听到有人称赞某产品的交互设计是什么时候的事了?(除了iPod之外) 它们都很cool, 而且都是很创新的项目。

  抛开这些不管,Web设计者们对设计交互式的Web没有什么更好的办法,却对我们做桌面软件的同事投去少许羡慕的目光.桌面应用程序有丰富的界 面以及对于Web程序来说无法比拟的响应能力。同样,Web的快速发展,在我们所提供的体验和用户从桌面应用程序所得到的体验间产生巨大的差距

  而如今差距正在消失。请看看“Google建议(Google Suggest)”. 观察它按你的输入显示建议条目的更新速度,几乎是立即更新的。再看看"Google Maps". 放大,用你的鼠标搬动和滚动。这些动作几乎是立即响应的,不用等待页面刷新

  "Google Suggest"和"Google Maps" 是采用Ajax技术的两个典型例子。Ajax是Asynchronous JavaScript and XML的简称,它表现出一个Web开发上的根本转变,那就是,Web上可能做些什么.

  Ajax的定义

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

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

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

ajax-fig1_small.png

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

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

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

  Ajax如何不同凡响

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

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

ajax-fig2_small.png

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

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

  谁在使用Ajax

  在采用Ajax的开发上面,Google做了巨大的投资。去年Google所有主要的产品都用了这项技术---Orkut, Gmail, 以及最近的beta版的Google Groups, Google Suggest和Google Maps---它们全是Ajax的应用。(要想了解更多这些Ajax实际的技术细节,请看它们的分析文章:Gmail, Google Suggest, Google Maps). 其它的像:Flickr, 采用许多人们喜欢的Ajax特性, 还有Amazon的A9.com搜索引擎也采用类似的技术。

  这些项目证明了Ajax不只是学术上的,也有许多真实世界成功应用。这不是什么实验室里的技术。Ajax的应用可大可小,从非常简单的,像单一功能的Google Suggest到非常复杂的Google Maps.

 

最全的ajax详细介绍,ajax全

最全ajax全套 ajax简介 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网...
  • qq_16664643
  • qq_16664643
  • 2016年08月25日 18:30
  • 1551

Ajax简介【转】

作为J2EE开发人员,我们似乎经常关注“后端机制(backend mechanics)”。我们通常会忘记,J2EE的主要成功之处在Web应用程序方面;许多原因使得人们喜欢利用Web开发应用程序,但主要...
  • chensheng913
  • chensheng913
  • 2005年12月05日 14:09
  • 6852

【转】简介ajax

Ajax被认为是(Asynchronous(异步) JavaScript And Xml的缩写)。现在,允许浏览器与服务器通信而无须刷新当前页面的技术都被叫做Ajax. 同步是指:发送方发出数据...
  • m0_37490522
  • m0_37490522
  • 2017年09月10日 20:50
  • 33

json对象与json字符串互转,ajax各常见函数

1、使用jquer插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2、浏览...
  • yaozhiwei1019
  • yaozhiwei1019
  • 2016年12月05日 10:26
  • 3858

ajax请求回来的数据是string将其转化成json对象

$.post("../../strtgcObjctvs.do","ope=init",function(data){      var json = eval("("+data+")"); // ...
  • qq_30632003
  • qq_30632003
  • 2016年10月12日 11:36
  • 2131

简单介绍一下AjAx

文章原地址:http://blog.sina.com.cn/s/blog_7fabe7e20102x3cr.html 什么是AjAx? 异步的javascript和xml。 ...
  • yong_csdn
  • yong_csdn
  • 2017年09月05日 09:43
  • 152

Ajax提交,对象转换成json,在js中解析?

我将我写的部分代码贴出,咱不纸上谈兵 后台代码(加上一点注释):             @RequestMapping(value = "shzzdetial",method =...
  • houtaidaima
  • houtaidaima
  • 2016年03月02日 12:02
  • 1258

AJAX中数据格式的转换和分类

首先,我们来讨论MIME,MIME类型是指用于唯一的标示一种特定格式的文件的一个描述符。常见的MIME类型有image/jpeg、 image/gif、image/png、text/plain、tex...
  • helloword_chen
  • helloword_chen
  • 2015年11月24日 23:10
  • 922

通过将图片文件转换成Base64编码实现ajax提交图片

背景:最近在开发的一个H5app中更改用户头像的需求,需要通过ajax来上传头像图片,于是使用图片转换成base64编码的方式来上传图片。当然我们需要在后台将上传的base64编码在转换成图片,保存在...
  • yangyuscript
  • yangyuscript
  • 2017年06月05日 21:28
  • 2441

ajax返回json字符串转换为JSON对象

在项目中遇到了用ajax,把java后台拼接的 StringBuilder json字符串转换为JSON对象,现在根据网上的内容和自己的理解总结一下这方面的内容  json数据是一种经型的...
  • liuhailiuhai12
  • liuhailiuhai12
  • 2017年03月02日 10:48
  • 508
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AJAX简介(转)
举报原因:
原因补充:

(最多只允许输入30个字)