Ajax 及其入门基础(2)_[AJAX教程]
		
			 四、常见Ajax编程框架
 既然上述Ajax框架已经能工作了,为什么还有那么多的框架呢?
 随着页面的复杂,可能需要书写大量的Javascript脚本来对页面中的DOM对象进行控制,工作量和复杂度会大大增加。Ajax编程框架通常利用面向对象的方法,对一些基本的对象和行为及其复杂性进行了合理的封装,建造了一套有自己特色的类库,并且考虑了效率和可扩充性等优点。我们在开发时,可以使用较少的、更清晰的代码,完成自己的工作。也使程序员有更多的时间和精力考虑业务逻辑本身,而不是与一堆脚本纠缠在一起。
 框架都是与后台脚本相关的。通过后台脚本编程,我们可以不必书写大量的Javascript脚本就能构建浏览器兼容的Ajax应用。
 比如,我使用一个比较流行的PHP xAjax框架,对前边的示例程序进行了改写:
  require_once (”../xajax/xajax.inc.php”);
 //服务器处理函数
 function processForm(aFormValues)
 {
 objResponse = new xajaxResponse();
 bError = false;
 //清空错误信息
 objResponse->addClear(”usernameInfo”, “innerHTML”);
 //判断账号
 if (trim(aFormValues[’username’]) == “”)
 {
 objResponse->addAppend(”usernameInfo”, “innerHTML”, “Please Input user name.”);
 bError = true;
 }
 else
 {
 if(trim(aFormValues[’username’])==”Thomas”)
 objResponse->addAppend(”usernameInfo”, “innerHTML”, “Has been registed”);
 else
 objResponse->addAppend(”usernameInfo”, “innerHTML”, “Has not been registed”);
 bError = false;
 }
 if (!bError)
 {
 sForm .=”
账号:” .aFormValues[’username’]. “
\n”;
 }
 else
 {
 objResponse->addAssign(”submitButton”, “value”, “Submit”);
 objResponse->addAssign(”submitButton”, “disabled”, false);
 }
 return objResponse;
 }
 //构造对象
 xajax = new xajax();
 //注册处理函数
 xajax->registerFunction(”processForm”);
 //接管HTTP请求
 xajax->processRequests();
 ?>
 
 
 
   //生成必要的JavaScript
 xajax->printJavascript(’../xajax/’);
 ?>
 
XAJAX 用户注册 
 
 
 
 
 
 
 
 
 大家看到了这段代码前边的包含语句了吧:require_once (”../xajax/xajax.inc.php”)。xajax.inc.php就是定义xajax等相关类库的文件,这个文件里还包含了大量的javascript脚本文件和其他的常数定义等。Xajax类有一条自己的属性和方法,接管和封装了原始的Ajax的行为和方法,用于处理用户的事件和页面文档对象的属性和外观。
 Ajax框架有它自己的好处,但是,目前由于Ajax框架太多,各有各的优点和缺点,特别是对PHP语言,我们很难在众多的框架中选中一个最适合我们自己的项目的框架。框架太多加大了交流的成本。框架本身在降低了代码复杂度的同时,也带来了学习的成本。不像.NET,背靠财大气粗的公司,就一套程序库,一套通用的IDE,熟练一门语言(比如C#),就可以开发Web和桌面应用。
 最后还要注意一下,Ajax并不是万金油,任何项目都想用一下。Ajax目前大多数应用在数据校验等应用上,在项目中用的时候请慎重考虑。
张庆(网眼)http://blog.why100000.com