刚才花了两个小时,成功完成了我的第一个AJAX程序,目前心情比较兴奋……
程序很简单,页面上只有一个链接,点击后通过AJAX从饭否获取最新的留言,并更新页面,显示这些留言。为什么会想到做这样一个东西?因为前些天我在注册饭否的时候,发现它开放了系统的API,可以在自己的AJAX程序里使用,这让我非常兴奋,所以决心在学习AJAX的时候尝试使用一把!
今天晚上主要有这些收获:
1.终于对DIV + CSS的Web2.0时代布局模式有了一定理解,算是入门了。理解了CSS的盒模式,会了一些基本的属性。其他内容深入学习中……
2.mootools的JSON.Remote类的使用。说实话,mootools将JSON和AJAX的功能包装得太好了,我几乎没费什么功夫就学会了如何使用,实在是很简单,至少对一个有经验的Java coder来说很简单。饭否的API包括XML和JSON两种版本,为了查看JSON的结构,我还使用了curl这个工具来查看结果。
3.意外的收获:测试程序的时候,主要的代码我没有放到事件处理程序里,而是裸露在外面,在页面载入的时候就执行了。这时我发现结果不正确,后来把代码放到连接的事件处理函数中以后就没有问题了。原来我的代码里有DOM操作,如果放在外面执行,页面可能没有载入完成,DOM自然也不完整,我需要的一个NODE自然也无法获取。也许我说得不太对,希望有经验的高手指导。
AJAX虽然不是什么很高深的技术,但是由它带来的全新的Web开发模式却能改变未来。可以引用我在JavaEye论坛上看到的一封帖子的一句话来总结:世上没有B/S系统,只有B系统和S系统。服务器和浏览器端本来就是应该严格解耦合的。服务器端处理业务功能的运算,处理数据的CRUD等,并暴露一组“标准”的接口给用户;而浏览器端则使用AJAX,Flex等技术与服务器进行异步数据交互,提供用户界面。
相比这种Web2.0模式,传统的Web模式有着很大的弊病:服务器和浏览器之间传输的都是HTML文档,数据和显示方式耦合在一起了,系统之间,尤其是异构系统之间很难共享数据,更别说互操作了。
再过一段时间就要为毕业设计选题了,目前我的初步想法就是开发一个Web2.0的OA系统。还要进一步学习才行,要避免我的最大毛病:浅尝辄止!
加油!