18.4.2 xajax简介
可以在xajax的程序包(以0.2.4版本为例)中看到以下主要文件。
❑xajax.inc.php,这个文件定义了xajax类。该类的主要作用是生成页面使用的JavaScript,该类也可以执行和处理由PHP程序返回到页面的XML消息。
❑xajaxResponse.inc.php,这个文件定义了xajaxResponse,该类用来创建返回页面的响应。该响应中包含有一个或多个用来更新Web页面的命令消息。稍后将会详细介绍该类。
❑xajaxCompress.php,定义了一个压缩JavaScript代码的函数,这个函数与本书介绍使用xajax的内容无关,这里不做讲述。
这里详细介绍一下xajax的xajaxResponse类,该类在文件xajaxResponse.inc.php中定义。xajax的xajaxResponse类可以将用户从编写JavaScript回调函数的繁杂工作解脱出来。xajaxResponse在PHP函数中创建XML指令返回给回调函数。XML将被xajax的消息分析器解析,XML指令将告诉xajax如何更新程序的内容和状态,从而完成对页面的更新。下面介绍xajaxResponse类提供的主要方法。
❑addAssign($sTargetId,$sAttribute,$sData)方法,给名为$sTargetId的HTML元素的$sAttribute属性赋值为$sData。例如,$objResponse->addAssign("contentDiv","innerHTML","Some Text")给名为contentDiv的元素的innerHTML属性赋值“Some Text”。
❑addAppend($sTargetId,$sAttribute,$sData)方法,给命名为$sTargetId的元素的$sAttribute属性追加值为$sData。例如,$objResponse->addAppend("contentDiv","innerHTML","Some Text")给名为contentDiv的元素的innerHTML属性追加值为“Some Text”。
❑addReplace($sTargetId,$sAttribute,$sSearch,$sData)方法,将$sTargetId元素的$sAttribute属性的值为sSearch的部分替换为$sData。例如,$objResponse->addReplace("contentDiv","innerHTML","text","<strong>text</strong>"),将元素contentDiv的innerHTML属性值中的“text”替换为“<strong>text</strong>”。
❑addClear($sTargetId,$sAttribute)方法,清空$sTargetId元素的$sAttribute属性的值。例如,$objResponse->addClear("Input1","value"),将名为Input1的元素的value属性的值清空。
❑addCreate($sParentId,$sTagname,$sId,$sType)方法,在已经存在的名为$sParentId的元素下添加一个名为$sTagName的子元素,并将其id赋值为$sId,可选的类型赋值为$sType。
❑addRemove($sElementId)方法,移除命名为$sElementId的元素。例如,$objResponse->addRemove("div1"),移除名为div1的HTML元素。
❑addAlert($sMsg)方法,显示一个内容为$sMsg的JavaScript式的警告框。例如,$objResponse->addAlert("This is some text"),将在页面上产生一个警告框,警告框内的信息为“This is some text”。
❑addScript($sJS)方法,用来执行一段JavaScript。例如,$objResponse->addScript("var txt=prompt('get some text');")。
xajax就是通过这些方法向浏览器端响应XML命令消息。通常,一个独立的XML响应可能包含多个指令,所有指令将按照加入响应的顺序依次执行。
共有条评论 网友评论