Building Block

随风飘过的日子 - 我们渐渐成长

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  9 随笔 :: 4 文章 :: 2 评论 :: 0 Trackbacks

2006年3月9日 #

转自:http://blog.csdn.net/thinkpadleo/archive/2006/01/13/578182.aspx

本文来源网络,属于转载范围,,特此声明

众所周知,异步交互、JavaScript脚本和XML封装数据是AJAX的三大特征。其实,在实际应用中,不需要牢牢套死这三条大律,在我看来,AJAX - X,即去掉用XML封装数据,也不失为一种好的设计思路,如果应用恰当,更显轻盈步伐和巧妙思路。

一般读取AJAX返回的XML结构的数据时使用XMLHttp的responseXML对象属性,同时,XMLHttp也提供了另外一个属性,即ResponseText,通过这个属性,XMLHttp可以接受来自服务器的文本结构的字符串信息。去掉XML的AJAX可以使用ResponseText这个对象属性,很灵活的操控返回数据的格式,可以自定义格式,比如我通常喜欢用c语言的那种文件流方式定义返回的字符串结构,有文件头和具体的文件信息实体,文件头分为状态信息以及文件字符长度,我摒弃了文件字符长度的定义,规定死接受的ResponseTex字符串中的第一位为状态码,比如设定常量值0表示一起正常,非0的数字表示不正常,甚至有错误等。如果有非0值,程序自动取第二位起到257位(长度为256)的字符串组成为状态信息,从258位开始到末尾的字符串就是服务器返回的正常结果信息。
substring(0,1)取状态码
substring(1,256)取服务器错误信息(错误信息不够256位用空格补齐,取到数据后进行Trim处理)
substring(256,末尾)取服务器返回的数据信息
三次substring即完成了一个简单但完整的交互工作。比起XML解析组件来说要快的多。

用ResponseText比封装为XML处理数据快和简单是一个原因,另一个原因是可操控性更大更灵活,打开Google Suggest,在搜索框输入字符可以给你给出拼写提示,Suggest就是应用了AJAX技术,不过它在从服务器返回数据时并没有使用XML封装,也没有自定义ResponseText格式,而是直接将返回代码组织成js脚本,通过浏览器返回后直接执行,如eval(XMLHttp.ResponseText)这样的方式进行执行,http://www.google.com/complete/search?hl=en&js=true&qu=ajax 通过这个链接你可以看到Suggest利用AJAX得到的返回数据,此页面是在Google Suggest的搜索框中输入"AJAX"后得系统动态返回的数据。

 

sendRPCDone(frameElement, "ajax", new Array("ajax", "ajax amsterdam", "ajax fc", "ajax ontario", "ajax grips", "ajax football club", "ajax public library", "ajax football", "ajax soccer", "ajax pickering transit"), new Array("3,840,000 results", "502,000 results", "710,000 results", "275,000 results", "8,860 results", "573,000 results", "40,500 results", "454,000 results", "437,000 results", "10,700 results"), new Array(""));
浏览器段拿到这段代码后直接eval就可以了,至于sendRPCDone这个函数,那当然得实现定义后并装载到页面中啦。XMLHttp这个名字以XML开头,让很多人禁锢了思想和创意,完全抛弃X,你也可以做出纯AJAX的实例来。

 

当然,对于大型系统来讲,为了保持数据接口的一致和整齐,还是用XML来传递更严谨更统一点,听说微软已经发起了重写XML Parse组件的号召,估计下一个版本的XMLHttp还是DOMParser还是MSXML2.DOMDocument都会大大提高效率,减少资源占用的。

ajax版简易聊天室介绍及源码下载

http://blog.csdn.net/thinkpadleo/archive/2006/01/22/586051.aspx

ajax经典文章列表(部分为中文版)

http://blog.csdn.net/thinkpadleo/archive/2006/01/13/578367.aspx

仿google一行代码生成SiteMap

http://blog.csdn.net/thinkpadleo/archive/2006/01/13/578376.aspx

Ajax简介(转自http://dev2dev.bea.com.cn,包含例程下载)

http://blog.csdn.net/thinkpadleo/archive/2006/01/22/586260.aspx

Ajax原理详细说明(转自ibm开发者网站)

http://blog.csdn.net/thinkpadleo/archive/2006/01/22/586267.aspx

 Atlas—微软的Ajax工具包(转自it专家web服务)

posted @ 2006-03-09 13:39 几木 阅读(264) | 评论 (0)编辑 收藏

转自:http://blog.csdn.net/quailzhang/archive/2005/09/16/482415.aspx

本人虽接触ajax不久,但对AJAX的七宗罪很是质疑:
质疑罪之一:对搜索引擎的支持不好
的确ajax技术让页面没有链接,难以让搜索引擎搜索。但是进步的技术能带动其他相对“落后”的

技术。想想当年互联网从html静态页面过渡到asp/jsp/php动态网页的时候,搜索引擎也经过了一个

适应阶段。几年前做web的时候,还有文章说动态页面不容易被google发现,现在还有谁敢说google

对动态网页支持不好?只有新技术促进搜索引擎的发展,而不是新技术去适应搜索引擎!

质疑罪之二:编写复杂、容易出错
有很多公司已经有了自己的一套库,比如说backbase,bindows他们都有一整套完整的开发模式,如

果你认为不好调试的话,你用用backbase的那套库试试,里面有非常完善的调试以及出错信息显示


最近微软正致力于简化Ajax风格Web应用的开发,并提供丰富的、可交互的和个性化的用户体验。开

发者可以对客户端脚本不甚了解;但他们可以很容易地开发和调试这种应用程序。


质疑罪之三:冗余代码更多了
ajax的一个优点就是根据需要向服务器端发送请求,用什么就取什么、用多少就取多少,根本不会

有数据的冗余和浪费,而且更新页面时不用重载全部内容,只更新需要更新的那部分即可。而且

ajax的一个最大的优点就是异步传输(Asynchronous),她可以让你在无刷新的基础之上一边看文

章,一边又能向服务器提交你的回复信息。利用好这个异步,才能算是掌握了AJAX的精髓。

质疑罪之四:破坏了Web的原有标准
Web标准应该往前发展,既然web已经不是单纯的信息网络,而是更高级系统应用的媒介,那么理应

有更为先进的标准。事实上web的标准也在不断的改进中。用旧有的标准桎梏新生技术,未免就残忍

了一些。

质疑罪之五:缺少一个没有标准之争、没有back和history的浏览器
现在浏览器之间的差异的确存在,的确让程序员很苦恼,但是这不是ajax引起的,这是浏览器自己

的问题,比如说IE对ajax支持得不是太好,但是最近微软刚发表过声明说:今后的IE中将拥有Ajax的

所有东西——DHTML、JScript和XmlHttp。可见IE正在适应ajax!
还有,他提出了“那两个网站除了酷酷的感觉,毫无用处”,网站有没有用跟网站所用的技术有关

吗?换个角度,那你说google map 和gmail有没有用呢?

质疑罪之六:XML只是用来打幌子
xml的数据定义明确,使用简单,为日后的维护提供了很大的方便。如果程序都都是采用你自己定义

的数据格式,而且不同的数据可能还有不同的格式,那为日后的维护带来了不便。
其实,降低维护的成本比降低开发的成本更重要。不过当你隔个一两年再回头看你的代码时,你可

能也会一头雾水, 更不要说接你手的人。所以说标准真的很重要,如果大家都按标准,这世界将会

少很多麻烦。

质疑罪之七:世界这么大却找不到自己的家
谁说ms反对ajax了?ms正在启动一个新的项目Atlas:微软的Ajax。可以说微软对Ajax风格的日益流

行的富客户端应用于越来越感兴趣。微软的很多站点也使用了ajax这项技术,如Start.com和MSN虚

拟地球。
而在今年上半年Sun就计划把ajax加入到J2EE中,从而实现更好的动态Web应用程序。
ajax很大程度上来说只是一个客户端技术,她完全可以与.net或j2EE相结合,做出很多单用.net或

j2ee做不出的效果出来。

总之Ajax是一种方法一种态度,如果你觉得你需要Ajax,Just do it;如果不需要,Let it  be

posted @ 2006-03-09 13:38 几木 阅读(225) | 评论 (0)编辑 收藏

     摘要: 转自:ibm开发者网站 Ajax 由 HTML、JavaScript™ 技术、DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序。本文的作者是一位 Ajax 专家,他演示了这些技术如何协同工作 —— 从总体概述到细节的讨论 —— 使高效的 Web 开发成为现实。他还揭开了 Ajax 核心概念的神秘面纱,包括 XMLHttpRequest 对象...  阅读全文
posted @ 2006-03-09 13:37 几木 阅读(259) | 评论 (0)编辑 收藏

转自:http://blog.csdn.net/thinkpadleo/archive/2006/01/13/578367.aspx

Jesse James Garrett的那篇Ajax: A New Approach to Web Applications很多人一定看过,今天凑巧看见了中文版的。原文地址(英文):http://www.adaptivepath.com/publications/essays/archives/000385.php 译文地址:http://info96.k12studio.com/~nio/comments.php?id=242_0_1_0_C
posted @ 2006-03-09 13:34 几木 阅读(306) | 评论 (0)编辑 收藏