#2
无情剑客2008-01-07 17:38
AJAX分布应用框架
|
ajax 使用心得
2005年2月,ajax在Jesse James Garrett的介绍下与大家见面了,并且马上在业界走红。我接触ajax的时间不是很长,在没认识他之前,总认为那是多么高级的应用啊!总认为他有多么的高深多么的难!当了解了他之后觉得,他没有想像中的那么难以琢磨!
传统的交互是整个页面的刷新,交互中有大量的冗余数据。那样占用了大量的带宽,降低了浏览器响应速度。而ajax的出现正好解决了这个难题的,其实ajax是众多技术“组装”出来的,其核心的就是javascript了,提到javascript 我想大家都是比较熟悉的:他是一种基于对象和事件驱动并具有安全性能的脚本语言,他原本是用来使网页变的生动的!现在在ajax技术担当了重要的角色----------与后台通信。XMLHttpRequest对象在技术中起到了主要的作用!
if(window.XMLHttpRequest) {
this.req = new XMLHttpRequest();
} else if(window.ActiveXObject) {
try {
this.req = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
this.req = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e1) {
//
}
}
}
上段代码就是创建一个XMLHttpRequest对象,由于浏览器的厂商不同对XMLHttpRequest对象的实现也不同!有了XMLHttpRequest对象就可以向后台异步发送请求而不惊动用户界面。可以通过他的send方法向后台发送一个xml ,通过open方法打开后台链接。XMLHttpRequest对象还有个重要的事件onreadystatechange ,他可以监听后台的反应,readyState属性可以标识响应情况:0 = 未初始化,1 = 正在加载2 = 加载完毕,
3 = 交互,4 = 完成 ,当readyState属性状态为4时就说明响应已经完成了,但是相应完成并不代表一定成功了 还有个status属性标识响应的状态, HTTP响应信息状态码有很多在这里我之列举几种常见的,在ajax应用中以下几种状态码是要处理的:
200 = 一切OK。
403 = 由于服务器上文件或目录的权限设置导致资源不可用
404 = 没有找到指定的资源
500 = 一般为你的后台程序抛出异常了。
当返回的状态码为200时就说明 一次请求已经成功的响应了,你就可以通过DOM对 responseText进行解析了,这样一次异步调用就完成了。
有必要时要设置RequestHeader,比如请求类型(content-type) 缓存( Cache-Control )特别是字符编码格式,有时会遇到返回的是一串乱码,那就要统一字符编码格式。
这样说起来 ajax也就那么回事,当然这个只是最原始最基本的,了解了他的核心你使用起ajax框架来也就顺畅多了,现在有很多出色的ajax的框架,比如Dojo ,Google AJAXSLT , ,Java BluePrints …… 这些框架各有各的特点,大多数都只支持某一种语言。开发者开发java web程序就要去寻找支持java的框架 要开发.net程序就的去寻找支持net程序的框架。这样很不方便。其实webshop就是个不错的开发ajax程序的工具,有了他你就不用在为找合适的框架而烦恼了,他支持java net php vb等流行开发语言,并且还支持可视化操作,Webshop的ADL库对ajax做了很好的封装,操作后台就像调用前台方法一样简单。
知道了ajax原理,又有这么好用的现成的开发工具,现在ajax开发不再难了吧?还不快去下载webshop体验一下吧!