??xml version="1.0" encoding="utf-8" standalone="yes"?>国内精品美女av在线播放,久久久久高潮毛片免费全部播放,亚洲欧洲在线一区http://www.aygfsteel.com/yuwenlin/category/38642.htmlzh-cnSun, 29 Mar 2009 15:56:53 GMTSun, 29 Mar 2009 15:56:53 GMT60AJAX开发简?(W二部分)(?http://www.aygfsteel.com/yuwenlin/archive/2009/03/29/262756.html独孤?/dc:creator>独孤?/author>Sun, 29 Mar 2009 12:11:00 GMThttp://www.aygfsteel.com/yuwenlin/archive/2009/03/29/262756.htmlhttp://www.aygfsteel.com/yuwenlin/comments/262756.htmlhttp://www.aygfsteel.com/yuwenlin/archive/2009/03/29/262756.html#Feedback0http://www.aygfsteel.com/yuwenlin/comments/commentRss/262756.htmlhttp://www.aygfsteel.com/yuwenlin/services/trackbacks/262756.html阅读全文

]]>
AJAX开发简?W一部分)(?http://www.aygfsteel.com/yuwenlin/archive/2009/03/29/262730.html独孤?/dc:creator>独孤?/author>Sun, 29 Mar 2009 08:27:00 GMThttp://www.aygfsteel.com/yuwenlin/archive/2009/03/29/262730.htmlhttp://www.aygfsteel.com/yuwenlin/comments/262730.htmlhttp://www.aygfsteel.com/yuwenlin/archive/2009/03/29/262730.html#Feedback0http://www.aygfsteel.com/yuwenlin/comments/commentRss/262730.htmlhttp://www.aygfsteel.com/yuwenlin/services/trackbacks/262730.html因ؓ(f)正在自学AjaxQ看C?a >柯自?/a>的这《AJAX开发简略》写得不错,拿来{载一下:(x)

         在用浏览器览|页的时候,当页面刷新很慢的时候,你的览器在q什么?你的屏幕内容是什么?是的Q你的浏览器在等待刷斎ͼ而你的屏q内Ҏ(gu)一片空白,而你在屏q前苦苦的等待浏览器的响应。开发h员ؓ(f)了克服这U尴的局面,不得不在每一个可能需要长旉{待响应的页面上增加一个DIVQ告诉用?#8220;pȝ正在处理(zhn)的hQ请E?#8230;…”?

  现在Q有一U越来越行热?#8220;?#8221;技术,可以d改变q种H迫的局面。那是AJAX。如今,随着Gmail、Google-maps的应用和各种览器的支持QAJAX正逐渐吸引全世界的眼球?/p>

一、AJAX定义
   AJAXQAsynchronous JavaScript and XMLQ其实是多种技术的l合Q包括Javascript、XHTML和CSS、DOM、XML和XSTL、XMLHttpRequest。其中:(x)

  使用XHTML和CSS标准化呈玎ͼ使用DOM实现动态显C和交互Q用XML和XSTLq行数据交换与处理,使用XMLHttpRequest对象q行异步数据dQ用Javascriptl定和处理所有数据?/p>

  在AJAX提出之前Q业界对于上q技术都只是单独的用,没有l合使用Q也是由于之前的技术需求所军_的。随着应用的广泛,AJAX也成为香饽饽了?/p>

二、现状与需要解决的问题
  传统的Web应用采用同步交互q程Q这U情况下Q用户首先向HTTP服务器触发一个行为或h的呼求。反q来Q服务器执行某些dQ再向发求的用户q回一个HTML面。这是一U不q诏的用户体验,服务器在处理h的时候,用户多数旉处于{待的状态,屏幕内容也是一片空白。如下图Q?

        自从采用文本作为Web传输和呈C后,我们都是采用q么一套传输方式。当负蝲比较?yu)的时候,qƈ不会(x)体现出有什么不妥。可是当负蝲比较大,响应旉要很长,1分钟?分钟……数分钟的时候,q种{待׃可忍受了。严重的Q超q响应时_(d)服务器干脆告诉你面不可用。另外,某些时候,我只是想改变面一部分的数据Q那Z么我必须重新加蝲整个面呢?Q当软g设计来讲Ih性化的时候,q么p糕的用户体验简直与q种原则背道而驰。ؓ(f)什么老是要让用户{待服务器取数据呢?臛_Q我们应该减用L(fng)待的旉。现在,除了E序设计、编码优化和服务器调优之外,q可以采用AJAX?/p>

三、ؓ(f)什么用AJAX
  与传l的Web应用不同QAJAX采用异步交互q程。AJAX在用户与服务器之间引入一个中间媒介,从而消除了|络交互q程中的处理—等待—处理—等待缺炏V用L(fng)览器在执行d时即装蝲了AJAX引擎。AJAX引擎用JavaScript语言~写Q通常藏在一个隐藏的框架中。它负责~译用户界面及与服务器之间的交互。AJAX引擎允许用户与应用Y件之间的交互q程异步q行Q独立于用户与网l服务器间的交流。现在,可以用Javascript调用AJAX引擎来代替生一个HTTP的用户动作,内存中的数据~辑、页面导航、数据校验这些不需要重新蝲入整个页面的需求可以交lAJAX来执行?/p>

使用AJAXQ可以ؓ(f)ISP、开发h员、终端用户带来可见的便捷Q?

  • 减轻服务器的负担。AJAX的原则是“按需取数?#8221;Q可以最大程度的减少冗余hQ和响应Ҏ(gu)务器造成的负担?
  • 无刷新更新页面,减少用户心理和实际的{待旉。特别的Q当要读取大量的数据的时候,不用像Reload那样出现白屏的情况,AJAX使用XMLHTTP对象发送请求ƈ得到服务器响应,在不重新载入整个面的情况下用Javascript操作DOM最l更新页面。所以在d数据的过E中Q用h面对的不是白屏,是原来的面内容Q也可以加一个Loading的提C框让用L(fng)道处于读取数据过E)Q只有当数据接收完毕之后才更新相应部分的内容。这U更新是瞬间的,用户几乎感觉不到?
  • 带来更好的用户体验?
  • 可以把以前一些服务器负担的工作{嫁到客户端,利用客户端闲|的能力来处理,减轻服务器和带宽的负担,节约I间和宽带租用成本?
  • 可以调用外部数据?
  • Z标准化的q被q泛支持的技术,不需要下载插件或者小E序?
  • q一步促q页面呈现和数据的分R?

四、谁在用AJAX
  在应用AJAX开发上面,Google当仁不让是表率。Orkut、Gmail、Google Groups、Google Maps、Google Suggest都应用了q项技术。Amazon的A9.com搜烦引擎也采用了cM的技术?

  微Y也在U极开发更为完善的AJAX应用Q它卛_推出代号为Atlas的AJAX工具。Atlas的功能超了AJAX本nQ包括整合Visual Studio的调试功能。另外,新的ASP.NET控g客户端控件与服务器端代码的捆l更为简ѝAtlas客户脚本框架QAtlas Clent Script FrameworkQ也使与|页及相关项目的交互更ؓ(f)便利。但Visual Studio 2005中ƈ不包含此功能?/p>

  微Y最q宣布Atlas客户脚本框架包含如下内容(详细资料误问Atlas计划|站Q:(x)

  • 一个可扩展的核心框Ӟ它添加了JavaScript功能Q如生命同时期管理、承管理、多点传送处理器和界面管理?
  • 一个常见功能的基本cdQ有丰富的字W串处理、计时器和运行Q务?
  • 为HTML附加动态行为的用户界面框架?
  • 一l用来简化服务器q通和|络讉K的网l堆栈?
  • 一l丰富的用户界面开发控Ӟ如:(x)自动完成的文本框、动d拖放?
  • 处理览器脚本行为差异的览器兼容层面?

        典型的,微YAJAX技术应用在MSN Space上面。很多h一直都对MS Space服务感到很奇怪,当提交回复评Z后,览器会(x)暂时停顿一下,然后在无h的情况下把我提交的评论显C出来。这个就是应用了AJAX的效果。试惻I如果d一个评论就要重新刷新整个页面,那可真费事?

  目前QAJAX应用最普遍的领域是GIS-Map斚w。GIS的区域搜索强调快速响应,AJAX的特Ҏ(gu)好符合这U需求?/p>

五、用AJAX改进你的设计
   AJAX虽然可以实现无刷新更新页面内容,但是也不是什么地斚w可以用,主要应用在交互较多、频J读数据、数据分c良好的Web应用中。现在,让我们D两个例子Q看看如何用AJAX改进你的设计?a>

例子1Q数据校?br />   在输入form表单内容的时候,我们通常需要确保数据的唯一性。因此,常常在页面上提供“唯一性校?#8221;按钮Q让用户点击Q打开一个校验小H口Q或者等form提交到服务器端,由服务器判断后在q回相应的校验信息。前者,window.open操作本来是比较耗费资源的,通常由window. showModalDialog代替Q即使这样也要弹Z个对话框Q后者,需要把整个面提交到服务器q由服务器判断校验,q个q程不仅旉长而且加重了服务器负担。而用AJAXQ这个校验请求可以由XMLHttpRequest对象发出Q整个过E不需要弹出新H口Q也不需要将整个面提交到服务器Q快速又不加重服务器负担?a>例子2Q按需取数据—联菜?br />   以前Qؓ(f)了避免每ơ对菜单的操作引L(fng)重蝲面Q不采用每次调用后台的方式,而是一ơ性将U联菜单的所有数据全部读取出来ƈ写入数组Q然后根据用L(fng)操作用JavaScript来控制它的子集项目的呈现Q这栯然解决了操作响应速度、不重蝲面以及避免向服务器频繁发送请求的问题Q但是如果用户不对菜单进行操作或只对菜单中的一部分q行操作的话Q那d的数据中的一部分׃(x)成ؓ(f)冗余数据而浪费用L(fng)资源Q特别是在菜单结构复杂、数据量大的情况下(比如菜单有很多、每一U菜又有上百个项目)Q这U弊端就更ؓ(f)H出?

  现在应用AJAXQ在初始化页面时我们只读出它的第一U的所有数据ƈ昄Q在用户操作一U菜单其中一Ҏ(gu)Q会(x)通过Ajax向后台请求当前一U项目所属的二子菜单的所有数据,如果再l请求已l呈现的二菜单中的一Ҏ(gu)Q再向后面请求所操作二菜单对应的所有三U菜单的所有数据,以此cL……q样Q用什么就取什么、用多少取多少Q就不会(x)有数据的冗余和浪费,减少了数据下载总量Q而且更新面时不用重载全部内容,只更新需要更新的那部分即可,相对于后台处理ƈ重蝲的方式羃短了用户{待旉Q也把对资源的浪贚w到最低?/p>

例子3Q读取外部数?br />   AJAX可以调用外部数据Q因此,可以对一些开发的数据比如XML文、RSS文q行二次加工Q实现数据整合或者开发应用程序?/p>

六、AJAX的缺?/strong>

AJAX不是完美的技术。用AJAXQ它的一些缺陷不得不权衡一下:(x)

  • AJAX大量使用了Javascript和AJAX引擎Q而这个取决于览器的支持。IE5.0及以上、Mozilla1.0、NetScape7及以上版本才支持QMozilla虽然也支持AJAXQ但是提供XMLHttpRequest的方式不一栗所以,使用AJAX的程序必L试针对各个浏览器的兼Ҏ(gu)?
  • AJAX更新面内容的时候ƈ没有h整个面Q因此,|页的后退功能是失效的Q有的用戯l常搞不清楚现在的数据是旧的q是已经更新q的。这个就需要在明显位置提醒用户“数据已更?#8221;?
  • Ҏ(gu)媒体的支持没有FLASH、Java Applet好?
  • 一些手持设备(如手机、PDA{)现在q不能很好的支持Ajax?

 



]]>
վ֩ģ壺 ˳| | ˰| ¬| | ɽ| Զ| פ| | «ɽ| ƽ| | | | | ˴| ǭ| | ƽ| | | | ԭ| ֣| | | | ƽ| | ʡ| ³ľ| ʡ| | ƽ| | ȳ| | ƽ| ݳ| ǭ| |