博客日报:10月8日,提前泄密- -| 回首页 | 2005年索引 | - -顺风:关于“个体角色论”理论体系的基本设想

Ajax: 非同步javascript和Xml技术- -

Tag博客技术    Ajax                                          

    既然梦之城泄密了,那么我们就把泄密进行到底,我已经进行注册,并且测试了梦之城,真的如秀成所说的,仅仅在10秒内就完成了,不仅仅是注册在10秒内完成,并且所有动作包括上传音乐也在10秒左右就完成了,要知道按照常规的思路这需要服务器反应时间的,难道是应用了传说中的Ajax?


    Ajax是什么,在昨天晚上9点以前我也不知道,甚至都没听说过。我只是翻啊翻啊,翻到一个地方:“听某某人说Ajax在国内应用很多了,国内应用才刚刚起步,拿国内和国外来比,心里总是有些不舒服,但是必须承认:国外的Blog确实有其独到之处,不论是技术应用还是视觉设计。”

    那么什么是Ajax?Ajax不是一种技术,他是基于xhtml+css的呈现结果,使用DOM进行动态显示和交互,使用Xml和Xslt进行数据交换和相关操作,使用XmlhttpRequest进行非同步数据查询检索,使用JavaScript将所有东西综合起来。

    太多术语,也太难懂了吧,老实说我是看不明白什么意思,不知道到底是在说什么。不过我们可以认为Ajax就是一种技术,他是一种综合技术。

    回溯到早期的网页制作的时候,没有使用Asp,php或者是.net之类的服务器技术,只能依靠html语言进行解释,所以我们接收到的东西都是静态的html页面。后来随着浏览器的发展,创新了一种叫做javascript的脚本语言,这种脚本语言是由浏览器来执行的。再后来有了服务器执行程序的CGI啊,ASP啊,PHP啊,这样的语言。

    那么现在我们如果浏览一个网页,尤其是象blog这样的编辑操作的话,那么通常也就是这样一种模式:

    编辑成功了,发送一个请求httpRequest,这个请求就发送给了服务器,服务器就做出响应和判断,然后根据这个请求,它首先要将添加的数据加入到数据库中去,然后通过html+css的形式反馈给客户端。

    而Ajax则是另外一种模式:

    编辑成功以后,发出的不是一个httpRequest请求,而是一个javascript  call,也就是一条javascript指令,这条指令由浏览器就是DOM解释执行操作,通过Xml+Xslt进行数据交换,通过http+css的方式将结果迅速呈现出来。而这些数据变动则是要稍候或者被确认后,才在后台向服务器提交已经变动了的数据。

    只有你向web服务器请求新数据的时候,才通过发送Xml httpRequest向Web或者Xml 服务器提交请求,然后将新数据传送过来并以http+css的呈现出来,而旧有的数据,服务端不再发送,所以又叫做不刷新的页面技术。

    这种技术本来是为了解决web没有操作系统迅速而创造的。我们知道操作系统是如何进行工作的呢?它跟web的不同就是,web每做一件事情都要向web server请求,然后通过服务端运算,然后重新调用数据,重新呈现给你。而操作系统则是将常用的指令和数据先调入内存,你所需要的指令和数据是直接在内存内——除非另有需要——就执行了。不过同时我们也知道,如果你没有保存这些数据的话,那么这些内存的数据就白费了。同样Ajax技术也需要真正上传到服务器,否则只是在客户端执行的结果只是暂时的。

    应用这种技术的用户体验比较好,为什么呢?这就是所见既所得式的在线模式,我进行了一个请求马上——就象秀成所说的那样只需要10秒——就得到回应了。如果不满意还可以继续进行修改,不需要等待服务器的响应,背后的Xml就可以给你呈现结果,而只有最终进行确认了以后,才真正上传到服务器存储起来。

    这样客户端的呈现和服务端的更新是不同步的,所以被叫做非同步javascript和Xml(Asynchronous JavaScript + XML),简称Ajax。

典型的Ajax应用:gmail

- 作者: 慕容不是 访问统计: 2005年10月8日, 星期六 13:04 加入博采

Trackback

你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=3160520

博客手拉手

[2005-08-15 00:00:00.0]    [博客技术]博客模板修改 CSS

[2005-08-18 00:00:00.0]    [博客技术]博客实用帮助

[2005-08-15 00:00:00.0]    [博客技术]博客公社使用高级技巧

[2005-08-15 00:00:00.0]    [博客技术]拥有个人博客的十大好处

[2005-08-15 00:00:00.0]    [博客技术]如何让搜索引擎找到你的blog

回复

- 评论人:dd   2005-10-18 16:33:15   

dd

- 评论人:秦尘   2005-10-08 23:54:48   秦尘的博客  

技术还要学。

评论内容: