本文来源|络,属于转蝲范围,,Ҏ(gu)声明
众所周知Q异步交互、JavaScript脚本和XML装数据是AJAX的三大特征。其实,在实际应用中Q不需要牢牢套死这三条大律Q在我看来,AJAX - XQ即L用XML装数据Q也不失ZU好的设计思\Q如果应用恰当,更显ȝ步伐和y妙思\?/P>
一般读取AJAXq回的XMLl构的数据时使用XMLHttp的responseXML对象属性,同时QXMLHttp也提供了另外一个属性,即ResponseTextQ通过q个属性,XMLHttp可以接受来自服务器的文本l构的字W串信息。去掉XML的AJAX可以使用ResponseTextq个对象属性,很灵zȝ操控q回数据的格式,可以自定义格式,比如我通常喜欢用c语言的那U文件流方式定义q回的字W串l构Q有文g头和具体的文件信息实体,文g头分为状态信息以及文件字W长度,我摒弃了文g字符长度的定义,规定L受的ResponseTex字符串中的第一位ؓ状态码Q比如设定常量?表示一h常,?的数字表CZ正常Q甚x错误{。如果有?|E序自动取第二位起到257?长度?56)的字W串l成为状态信息,?58位开始到末尾的字W串是服务器返回的正常l果信息?BR>substring(0,1)取状态码
substring(1,256)取服务器错误信息(错误信息不够256位用I格补齐Q取到数据后q行Trim处理)
substring(256,末尾)取服务器q回的数据信?BR>三次substring卛_成了一个简单但完整的交互工作。比起XML解析lg来说要快的多?/P>
用ResponseText比封装ؓXML处理数据快和单是一个原因,另一个原因是可操控性更大更灉|Q打开Google SuggestQ在搜烦框输入字W可以给你给出拼写提C,Suggest是应用了AJAX技术,不过它在从服务器q回数据时ƈ没有使用XML装Q也没有自定义ResponseText格式Q而是直接返回代码组l成js脚本Q通过览器返回后直接执行Q如eval(XMLHttp.ResponseText)q样的方式进行执行,http://www.google.com/complete/search?hl=en&js=true&qu=ajax 通过q个链接你可以看到Suggest利用AJAX得到的返回数据,此页面是在Google Suggest的搜索框中输?AJAX"后得pȝ动态返回的数据?/P>
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(""));览器段拿到q段代码后直接eval可以了Q至于sendRPCDoneq个函数Q那当然得实现定义后q装载到面中啦。XMLHttpq个名字以XML开_让很多h锢了思想和创意,完全抛弃XQ你也可以做出纯AJAX的实例来?
当然Q对于大型系l来ԌZ保持数据接口的一致和整齐Q还是用XML来传递更严}更统一点,听说微Y已经发v了重写XML Parselg的号召,估计下一个版本的XMLHttpq是DOMParserq是MSXML2.DOMDocument都会大大提高效率Q减资源占用的?/P>
ajax版简易聊天室介绍及源码下?/P>
http://blog.csdn.net/thinkpadleo/archive/2006/01/22/586051.aspx
ajaxl典文章列表(部分Z文版)
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
http://blog.csdn.net/thinkpadleo/archive/2006/01/22/586267.aspx
本h虽接触ajax不久Q但对AJAX的七宗罪很是质疑Q?BR>质疑|之一Q对搜烦引擎的支持不?BR>的确a(chn)jax技术让面没有链接Q难以让搜烦引擎搜烦。但是进步的技术能带动其他相对“落后”的
技术。想惛_q互联网从html静态页面过渡到asp/jsp/php动态网늚时候,搜烦引擎也经q了一?/P>
适应阶段。几q前做web的时候,q有文章说动态页面不Ҏ(gu)被google发现Q现在还有谁敢说google
对动态网|持不好?只有新技术促q搜索引擎的发展Q而不是新技术去适应搜烦引擎Q?/P>
质疑|之二:~写复杂、容易出?BR>有很多公司已l有了自q一套库Q比如说backbase,bindows他们都有一整套完整的开发模式,?/P>
果你认ؓ不好调试的话Q你用用backbase的那套库试试Q里面有非常完善的调试以及出错信息显C?/P>
?BR>最q微软正致力于简化Ajax风格Web应用的开发,q提供丰富的、可交互的和个性化的用户体验。开
发者可以对客户端脚本不甚了解;但他们可以很Ҏ(gu)地开发和调试q种应用E序?/P>
质疑|之三:冗余代码更多?BR>ajax的一个优点就是根据需要向服务器端发送请求,用什么就取什么、用多少取多少Q根本不?/P>
有数据的冗余和浪费,而且更新面时不用重载全部内容,只更新需要更新的那部分即可。而且
ajax的一个最大的优点是异步传输QAsynchronousQ,她可以让你在无刷新的基础之上一边看?/P>
章,一边又能向服务器提交你的回复信息。利用好q个异步Q才能算是掌握了AJAX的精髓?/P>
质疑|之四:破坏了Web的原有标?BR>Web标准应该往前发展,既然web已经不是单纯的信息网l,而是更高U系l应用的媒介Q那么理?/P>
有更为先q的标准。事实上web的标准也在不断的改进中。用旧有的标准桎梏新生技术,未免残?/P>
了一些?/P>
质疑|之五:~少一个没有标准之争、没有back和history的浏览器
现在览器之间的差异的确存在Q的让E序员很苦恼Q但是这不是ajax引v的,q是览器自?/P>
的问题,比如说IE对ajax支持得不是太好,但是最q微软刚发表q声明说:今后的IE中将拥有Ajax?/P>
所有东襎쀔—DHTML、JScript和XmlHttp。可见IE正在适应ajaxQ?BR>q有Q他提出了“那两个|站除了酷酷的感觉,毫无用处”,|站有没有用跟网站所用的技术有?/P>
吗?换个角度Q那你说google map 和gmail有没有用呢?
质疑|之六:XML只是用来打幌?BR>xml的数据定义明,使用单,为日后的l护提供了很大的方便。如果程序都都是采用你自己定?/P>
的数据格式,而且不同的数据可能还有不同的格式Q那为日后的l护带来了不ѝ?BR>其实Q降低维护的成本比降低开发的成本更重要。不q当你隔个一两年再回头看你的代码Ӟ你可
能也会一头雾_ 更不要说接你手的人。所以说标准真的很重要,如果大家都按标准Q这世界会
很多麻烦?/P>
质疑|之七:世界q么大却找不到自q?BR>谁说ms反对ajax了?ms正在启动一个新的项目AtlasQ微软的Ajax。可以说微Y对Ajax风格的日益流
行的富客L(fng)应用于越来越感兴。微软的很多站点也用了ajaxq项技术,如Start.com和MSN?/P>
拟地球?BR>而在今年上半qSunp划把ajax加入到J2EE中,从而实现更好的动态Web应用E序?BR>ajax很大E度上来说只是一个客L(fng)技术,她完全可以与.net或j2EE相结合,做出很多单用.net?/P>
j2ee做不出的效果出来?/P>
MAjax是一U方法一U态度Q如果你觉得你需要AjaxQJust do itQ如果不需要,Let it be