ajax
说ajax之前,先给个应用ajax技术的展示:
http://www.linb.net/linb/,里面包括变量类型检测、强制类型变量、javascript线程实现、完美OO模型、基于dom id的事件系统实现、dom元素的“随动”实现、高级托拽、sorted grid控件、tree grid控件等等。
如今,web2.0大行其道,各种web技术遍地开花,在web开发的用户界面层出了一个比较新的技术,那就是ajax,它是Asynchronous JavaScript and XML的简称.使用这个技术,能够使页面在不刷新的情况下获得最新的数据。这正好顺应了web2.0以人为本的理念,在一些大型的网站,过去进行一些“短小”的操作,比如登陆,就要重新刷新整个页面,这是很不值得的,而现在有了ajax,可以只用更新页面的登陆部分的信息即可,不用刷新整个页面.
像google map,google suggest等大型系统都用了ajax技术,我现在用的cnblog也用了这个技术,比如登陆不用刷新,发表评论不用刷新,在首页可以根据自己的需要刷新部分信息。
其实ajax并不是一个新技术,不然现在的浏览器都要升级了,它只有把N种技术很好的融合起来,ajax需要用到的技术有CSS,DHTML,XHTML,JavaScript,XML,DOM,以及一种服务器端的程序语言(比如php,asp.net,jsp),其中的根本就是微软提供的XMLHttpRequest对象,利用这个对象,我们可以用javascript在后台向服务器发出XML异步请求,当服务器返回响应时,会自动调用我们设置的回调函数,然后用responeText或者XML两种方式取得返回的数据,以一定的方法更新页面的部分区域。
ajax最核心的技术就是DOM了,它把一整个XHTML文档看作一个文档树,原来的HTML标记都变成了节点,并且有节点属性和孩子,这样,便可以很好的操纵整个HTML,增加删除节点,修改节点的属性值。
javascript是所有技术的桥梁,用户的操作传递给js,js再从文档树取得所需的数据,然后创建XMLHttpRequest对象,发送请求,当受到请求时,又会自动调用js回调函数,然后取得返回的数据,利用DOM对象更新文档树,这就是整个ajax的流程了,当然,这些操作对用户来说是隐藏的。
ajax真的是一个很爽的技术,使用户界面便的丰富多彩,而且不用刷新整个页面。在china-pub上看到一本书<<ajax in action>>,听说是ajax圣经,可以图书馆没有,随便借了一本国人写的,发现写还可以。不过时间有限,只学到了点皮毛