服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > 专题栏目 > WEB2.0新技术 > 查看文档

ajax驱动的web站点

  下面介绍asynchronous javascript + xml,即所谓的ajax。要准确描述什么是ajax,最容易的方法是让其与相反的情况进行对比。当用户位于ajax类型的web站点时,浏览器可以幕后异步调用web服务器而无需发送整个页面。

  最近,许多web站点开始在开发人员社区当中引起关注。这些站点独特之处在于,它们更像是桌面应用程序而非web应用程序。当您与它们交互时,它们可以快速在浏览器显示无穷的信息而又无需重新加载页面。

  例如,在google maps站点(http://maps.google.com/),您可以单击地图,缩小或者放大,然后随心所欲地来回移动鼠标。浏览器会连续地从服务器读取数据,但并不需要刷新浏览器。它们使用的不是applet或者类似flash的其他程序。那么,它们是如何工作的?

  下面介绍asynchronous javascript + xml,即所谓的ajax。要准确描述什么是ajax,最容易的方法是让其与相反的情况进行对比。对于大部分web站点,与web服务器进行交互是最简单的通信方式――就如您在对讲机(walkie-talkie)上与好友聊天一样。您可以一边讲话他在另一边接听,或者他说话你接听,但您不能同时接听和讲话。对于web用户,当填写在线表单然后单击提交按钮后,整个页面就会发送至web服务器,用户必须等待服务器接受请受。当服务器完成处理请求时,它就会将处理过的内容发送过来。只有这时,才可以最终刷新用户页面。ajax是一种减少这一系列事件的尝试。当用户位于ajax类型的web站点时,浏览器可以幕后异步调用web服务器而无需发送整个页面。

  具体内容

  通常,ajax没有软件开发工具包(sdk)。它不是您可以下载的东西。尽管xml出现在ajax名称中,但它实际上是几种可以使用甚至不使用xml技术的结合。仔细研究一下,我们就会发现它是正被使用的几项技术的混合体。javascript、dom、xmlhttp以及xml是主要的角色。但要紧记,这种方法论既无标准亦无严格定义。您在一个执行程序中所看到的,可能不同于另一个执行程序中的情况。但是,ajax执行程序中最常见的是javascript。

  当用户与浏览器交互时,javascript代码会处理各种事件。比如按键或单击事件等,并会相应地进行处理。javascript使用xmlhttprequest对象作为浏览器和远程服务器之间的连接。microsoft首先在internet explorer 5中采用xmlhttprequest对象。

  xmlhttp-request对象最酷的地方是它可以在背景中运行的同时与web服务器异步进行对话,而无需重新加载页面。当web服务器接收到浏览器的请求时,它就会进行处理并将处理过的xml数据返回至浏览器。javascript引擎收到这种处理过的xml数据,然后使用dom处理相应的页面部件。例如,在ajax驱动的页面中,如google suggest站点(www.google.com/webhp?complete=1&hl=en),当您输入搜索字段时,每一个字母都被异步发送至服务器。在输入时,内容快速显示在正文的下方。在幕后,每个按键都会向服务器进行数次调用。用户不会受此影响,因为交互不会被中止。只有一部分页面会被刷新。这一切都可以高效地完成,因为仅有一部分页面数据(而非整个页面数据)通过线缆发送。

  ajax并非新生事物

  应该注意ajax并非新生事物。该方法论已运用了好多年。web站点(如google)正在证明ajax的有效性、稳定性,并且使web看起来更像是一个桌面应用程序:即真正意义的web开发。ajax特殊之处在于它可以使用验证过的现有技术完成这一切。换句话说就是,任何标准浏览器(可以处理javascript和dom的浏览器)都可以正常工作。您不需要单独安装其他插件。

  在magenic,我们可以看到这种方法论如何使我们的客户端受益。据我们所知,ajax并非可以取代一切web站点,但在计算机指令系统中,它应占有一席之地,并且是我们所需要的一种技能。

  asp.net 2.0

  asp.net 2.0可以明显提高脚本模型与这种方法论相结合。它们们称之为脚本回调而非ajax。实际上,它们按我早先所描述的那样进行工作,但是asp.net 2.0通过提供工具和支持从而使之更进一步。

  注意事项

  1、由于许多工作都必须移交给客户端处理,所以ajax会影响正确堆叠技术之间的命令行。当使用所现有的方法论设计此类应用程序时,应注意这一点。客户端(浏览器)需要处理更多的工作,javascript要完成这些工作会相当复杂。它需要处理按键、鼠标、与dom交互、处理这些事件和服务器数据的协调等。

  2、还应该注意,许多用户可能不想在浏览器上运行javascript。这时需要考虑web站点用户的需要。

  3、ajax名称并非正式的。adaptive path的工作人员起了这个容易记住的名字。在asp.net 2.0中,它也被称为“脚本回调”。


  阅读关于 ajax asp .net javascript xml 的全部文章

扫描关注微信公众号