Home  >  Article  >  php教程  >  PHP-xajax的应用方法总结

PHP-xajax的应用方法总结

WBOY
WBOYOriginal
2016-06-21 08:57:191170browse

一、 HelloWrold步骤 PHP代码 //服务器端 require_once (../../xajax.inc.php); //定义处理函数, //并在处理函数中实例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对象,可做成公共配置文件) 

    //在

区加入script 

    $xajax->printJavascript('../'); //可用变量,由模板解析 

    //定义接受新内容的控件 

   

 

    //执行方法,xajax_为前缀,myFunc为注册的函数名 

     

    总述:先构造一个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属性的控件值也被传入



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn