首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
ASP | ASP.NET | JSP | PHP | AJAX | XML | Java script | HTML/CSS | 服务器类
各大城市软件开发培训、软件人才免费咨询热线:400-700-5807
 您现在的位置: 中国IT实验室 >> WEB开发 >> AJAX学习教程 >> 正文
Ajax驱动的Web站点
ChinaItLab  2007-7-10  保存本文  佚名  收藏本站

  最近,许多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中,它也被称为“脚本回调”。

中国IT教育热线咨询
相关文章
ajax制作网页右下角弹出提示效果
Ajax,未来的WebServices?
在c#中如何调用ajax进行开发
探讨:利用AJAX技术提高搜索引擎排名
Ajax的错误处理机制探讨
最新文章
·PHP正则表达式从url中取得域名
·php设计模式介绍之迭代器模式
·简单学习php遇到的主要问题
·asp根据表单自动生成sql语句的函
·雅虎选项卡特效
 文章评论

 精彩友情推荐
·Asp源码 PHP源码
·CGI源码 JSP源码
·建站书籍教程
·服务器软件 .net源码
·建站工具软件
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
ASP.NET ASP PHP JSP
·如何使dbgrid中不同的值显示不同颜色08-03
·extjs ComboBox联动下拉菜单示例08-01
·漫谈.Net开发关于命名空间和目录划分07-31
·在Silverlight应用程序中操作Cookie07-28
·带附加条件的NewID()用法(downmoon)07-28
·对自定义路由进行单元测试07-28
·javascript实现yield07-28
·在ASP.NET中使用Google Maps07-28
·Sql Server2005 实现Oracle10g的hash表分区功07-28
·asp.net get set用法07-26
·Asp.net 控件开发—数据回传07-26
·php设计模式介绍之迭代器模式08-02
·简单学习php遇到的主要问题08-02
·asp根据表单自动生成sql语句的函数08-02
·教你优化你的ASP程序03-07
·asp去除HTML标记的三个实用函数03-07
·ASP添加验证码的解决方法03-07
·ASP通用文章分页函数:非记录集分页03-07
·ASP教程基础:十天学会ASP第三天03-07
·ASP教程基础:十天学会ASP第二天03-07
·ASP教程基础:十天学会ASP第一天03-07
·能够生成google xml地图的asp源码03-06
·Linux系统下让PHP提高性能的工具APC05-06
·一个完整、安全的PHP用户登录系统11-14
·Apache+PHP+MySQL建立数据库驱动的动态网站08-24
·用SSH与PHP相连接 确保数据传输的安全性08-23
·PHP5手动最简安装方法08-03
·PHP程序加速探索之服务器负载测试07-11
·完全讲解PHP+MySQL的分页显示示例分析05-30
·用Suhosin加强PHP脚本语言安全性05-26
·初学入门 PHP 和 MySQL05-17
·传奇的诞生 PHP三位创始人简介05-10
·大型系统上PHP令人不爽的九大原因05-10
·ASP.NET和PHP、JSP究竟学哪个?07-30
·JAVA (Jsp)利用Google的Translate开发API07-29
·由Servlet获得FacesContext及ManagedBeans07-24
·用JOTM向Servlet中添加事务07-18
·用servlet生成验证码07-16
·JSP/Servlet伪静态网页实现07-08
·JSP和Servlet的关系浅谈06-15
·妙用异步Servlet扩展AJAX应用程序06-11
·servlet生成验证码图片06-02
·java.servlet.Filter的应用05-30
·Java程序员必看--扩展鼠标右键菜单功能05-13
  培训中心
人才交流中心 技术交流中心
  ITLab技术交流平台: