您的位置:首页技术文章
文章详情页

PHP与 xajax使用方法说明

【字号: 日期:2024-07-09 16:51:25浏览:5作者:猪猪

PHP与AJAX使用方法说明实例

WebjxCom提示:一、 HelloWrold步骤 PHP代码 //服务器端 require_once (../../xajax.inc.php); //定义处理函数, //并在处理函数中实例xajaxResponse对象, //调用其方法控制控件的值,再返回该对象 function myFunc($text){ //实例响应对象 $objResponse = new xajaxResponse(); //改;一、 HelloWrold步骤;PHP代码;//服务器端 ;require_once ("../../xajax.inc.php"); ;//定义处理函数, ;//并在处理函数中实例xajaxResponse对象, ;//调用其方法控制控件的值,再返回该对象 ;function myFunc($text){ ;//实例响应对象;$objResponse = new xajaxResponse(); ;//改变控件值 ;$objResponse->addAssign("div1","innerHTML",$text); ;return $objResponse; ;} ;//初始化xajax ;$xajax = new xajax(); //可以指定服务器端的响应程序 ;$xajax->registerFunction("myFunc"); //注册处理函数 ;//开始接受请求 ;$xajax->processRequests(); ;PHP代码;//客户端(客户端与服务器端应共享同一个xajax对象,可做成公共配置文件) ;//在<head>区加入script ;$xajax->printJavascript('../'); //可用变量,由模板解析 ;//定义接受新内容的控件 ;<div id="div1" name="div1"> </div> ;//执行方法,xajax_为前缀,myFunc为注册的函数名 ;<button >Click Me</button> ;总述:先构造一个xajax对象供服务器端和客户端共用,再定义相应的处理函数(在函数中构造xajaxResponse对象,并使用该对象的 addAssing等方法对客户端控件操作),注册处理函数然后使用processRequests方法开始运行.客户端需要调用xajax对象的 printJavascript方法来生成javascript代码(加在head段),再定义触发处理的事件,处理方法名为xajax_+注册时的 函数名,该前缀可以在初始化xajax时修改;二、常用方法;xajax对象:;xajax($sRequestURI="",$sWrapperPrefix="xajax_",$sEncoding=;XAJAX_DEFAULT_CHAR_ENCODING,$bDebug=false);;构造函数,$sRequestURI 服务器uri,$sWrapperPrefix 客户端调用时的前缀,$sEncoding 编码;registerFunction($mFunction,$sRequestType=XAJAX_POST);注册处理函数,$mFunction 函数名,$sRequestType 提交类形,另一选择为XAJAX_GET;可以使用类方法:;registerFunction(array "myFunc",&$myObj,"myMethod"));;'myFunc' 供前端调用的函数名 $myObject,类实例 'myMethod' 类的方法;registerExternalFunction($mFunc,$sIncludeFile,$sRequestType=XAJAX_POST);$sIncludeFile 包含函数定义的外部文件路径,其它同registerFunction 用于引入单独函数定义文件;registerCatchAllFunction($mFunction);定义一个默认处理函数,当前端调用了一个不存在的函数时,执行此操作;registerPreFunction($mFunction);定义预处理函数,前端调用任何函数,都先调用此方法;processRequests() //开始执行;printJavascript($sJsURI="", $sJsFile=NULL);输出前端javascript代码,;getJavascript($sJsURI="", $sJsFile=NULL);将应用于前端的javascript代码输出到变量,以便模板引擎使用;xajaxResponse对象;xajaxResponse($sEncoding=XAJAX_DEFAULT_CHAR_ENCODING, $bOutputEntities=false);构造函数,可以指明编码或是否转换html标记;setCharEncoding($sEncoding); //改变编码;addConfirmCommands($iCmdNumber, $sMessage);用户确认操作. $iCmdNumber 如果选’取消’,紧接着要跳过的命令数,$sMessage提示信息;addAssign($sTarget,$sAttribute,$sData);改变$sTarget的$sAttribute属性的值为$sData;;addAppend($sTarget,$sAttribute,$sData);将新值加在原值的后面;addPrepend($sTarget,$sAttribute,$sData);将新值插到原值的前面;addReplace($sTarget,$sAttribute,$sSearch,$sData);用$sData替换原值中的$sSearch;addClear($sTarget,$sAttribute) //清空原值;addAlert($sMsg) //生成一个alert对话框;addRedirect($sURL) //重定向;addScript($sJS) //执行javascript代码;addScriptCall("myJSFunction", "arg 1", "arg 2", 12345);;调用javascript的函数myJSFunction;addRemove($sTarget) //移除一个元素;addCreate($sParent, $sTag, $sId, $sType="");在$sParent中增加一个子元素$sTag;//插入元素;addInsert($sBefore, $sTag, $sId);addInsertAfter($sAfter, $sTag, $sId);//加入表单项;addCreateInput($sParent, $sType, $sName, $sId);addInsertInput($sBefore, $sType, $sName, $sId);addInsertInputAfter($sAfter, $sType, $sName, $sId);//加入事件处理;addEvent("contentDiv", "onclick", "alert('Hello World');");;//为contentDiv控件加入onclick事件;addHandler($sTarget,$sEvent,$sHandler)

addHandler("contentDiv", "onclick", "clickit");;//为contentDiv加入onclic事件,执行javascript方法clickit;//移除事件处理;addRemoveHandler("contentDiv", "onclick", "content_click");;//加入外部js文件;addIncludeScript("functions.js");;//返回response,可以直接返回$ajaxResponse();;getXML();另外:在前端程序,可使用如下方法将form的值提交到后端;xajax_myFunc(xajax.getFormValues('formId'));;传入的是form的id,如果加入第二参数为true;则form中有disable属性的控件值也被传入

标签: PHP
相关文章: