Thursday, January 19, 2006

大家来学Ajax

自从上次用了meebo.com之后,Ajax就一直在俺脑海里转啊转啊。最近“失业”ing,正好给俺机会正大光明在公司里研究这个去年2月份才流行起来的新冬冬。研究主题暂定为“导入Ajax技术的利与弊”,希望在不到1个月的时间里对Ajax商务化的可行性进行一定程度的分析评价。研究成果俺会随时发表在这里哈。
首先,让咱们来脱个盲--什么是Ajax?下面先引用些Wikipedia上面的话(谢谢维基百科,详见 原 文),
AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。
其实这个Ajax并非什么新创的语言,也不是指某一种单一的技术,而是有机地利用了一系列现存的相关技术(Javascript, XML等)。Ajax的优点很多,比如能在不刷新整个页面的前提下维护数据,这使得Web应用程序更为迅捷地响应用户交互(因为是异步的,所以用户没必要跟服务器一起等待,这个可以参考Google maps),并避免了在网络上发送那些没有改变的信息(大量的节约网络带宽)。另外,用户使用Ajax不需要另外安装任何软件或者是插件,只要有一个允许执行Javascript的浏览器,用户的操作界面就可以更加丰富多彩了(比如上述的meebo.com)。当然Ajax也有一些缺点,最主要的就是键盘的backspace和浏览器的back按钮不能正常使用。针对这一问题,开发者想出了很多办法,比如隐藏一个IFrame来记住用户前一次的操作等等。不过我觉得,现有的很多系统(尤其是商务系统)在开发的时候就规定了禁止使用backspace key,所以这个问题应该不会妨碍我们导入Ajax。
我们在学C,Java语言的时候都是从“Hello world!”开始的,这次俺们也从这里开始,不过了升级成多语种的。参考了网上的程序,效果还可以哈,图片贴在这边。

动作很简单,下拉框的onChange()调用Javascript函数getResult(),getResult()会生成一个XMLHttpRequest()。而HelloAjaxWorld这个HttpServlet受理上面这个Request,返回一个XML文,里面包括了要显示在画面上的message。另外在网上发现了一个比较完整的framework,接下来决定仔细研究研究它的可用性。这个名为ZK Component的冬冬提供一套Demo(可下载到tomcat运行,也可以直接访问其网站)。
今天就先汇报的就这么多,明天继续ガンバル(^_^)v

3 comments:

  1. 昨天的index.html改了一下,因为昨天那个在mozilla里面不能正常现实。把innerText改成了innerHTML,问题就解决了。 document.getElementById("message").innerHTML=str[0];

    ReplyDelete
  2. bean也在研究这个,好像很兴奋的样子,你们倒是可以好好切磋切磋,呵呵!

    ReplyDelete
  3. 恩,认真学习天天向上(因为其他项目耽搁了两天,明天重新开始)

    ReplyDelete