其他回答(4)
热心问友
2009-12-25
Asynchronous JavaScript and XML
它不是一种技术,而是几种技术的集合
+1
已赞过
就是一楼所说的。是四种技术的集合。不是什么新的技术。
以前我们做的网站,每一次都要经过。请求。处理,每次都要不断的刷新页面。
使用ajax可以局部刷新, 就象百度那个
这是一个典型的使用ajax实现的自动补全。 虽然也从后台读取了数据。但只是局部的刷新了。。这样可以使用户体验大大的提高。。
+1
已赞过
异步调用,向服务器发请求,但整个页面不会刷新
+1
已赞过
其实没什么特别新奇的地方。
以前没有ajax的时候,数据的提交一般是通过表单,但是表单提交有个缺点:每次提交后页面一定会刷新。这种刷新会把整个页面重新装载,导致客户之前在页面中输入的数据全部丢失。这是种很不好的客户体验。
后来为了克服这种问题,大家想了很多办法,比较常用的一种是在页面内部嵌入一个隐藏的iframe,通过改变iframe的url来完成无刷新的数据提交。但是这个方法毕竟不是规范的做法,不够优雅不说,而且会带来额外的开销,以及乱码的出现等问题。
所以微软提出了ajax的概念。他通过在浏览器中内置了httpxmlrequest对象,来完成无刷新的数据提交。这种提交是静默式的,类似于多线程,他对当前页面内正在运行的函数不会造成影响。同时,为了解决网速等问题可能会造成的请求——相应延时,特意采取了回调处理(callback)的方式。
不要小看这个无刷新,正是这种无刷新才让客户体验到了良好的体验。打个比方,你可能使用过gmail,和gmap,这些页面上都是有很多图片的,他们跟据你的点击等动作一直在不断改变。如果没有ajax,可能你每点击一次,页面都要重新刷新数十次,这肯定是不能忍受的。
ajax的另一个重要方面的xml的使用。这其实也是一个老东西。但是放在此处使用恰恰可以发挥一种巨大的威力。因为xml这种格式的表述能力非常强,我们目前的所有数据结构(tree,array,hashmap)全部可以用xml来描述,而且可读性非常好。所以xml为ajax中传输的数据提供了一个非常好的组织方式。这也是为什么ajax里面要有个x的原因。
其实和xml对应的还有个json,这个东西和xml的作用是一样的,但是他有个优点是很轻便,因为js等脚本语言基本上都是内部支持的这种格式的,这样比解析xml的性能开销要小了不少。但是他的缺点就是不太好读。
好了,撤得有点远,大概就是这样吧
补充:
简单的总结一下,ajax就是能够不导致页面刷新的一种数据提交方式
+1
已赞过