当前位置: 首页 > 图文教程 > 网络编程 > PHP > 总结 PHP xajax应用方法

PHP
PHP常用代码
小偷PHP+Html+缓存
PHP 常见郁闷问题答解
上传多个文件的PHP脚本
详解::如何将图片储存在数据库里
PHP生成静态页面详解
[PHP]模板引擎Smarty深入浅出介绍
PHP语法速查表
一些常用的php函数
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
PHP经典的给图片加水印程序
PHP 字符串操作入门教程
source.php查看源文件
main.php
Php部分常见问题总结
[PHP] 《PHP边学边教》(01.开篇:准备工作)
《PHP边学边教》(02.Apache+PHP环境配置:上篇)
《PHP边学边教》(02.Apache+PHP环境配置:下篇)
傻瓜化配置PHP环境:Appserv
《PHP边学边教》(04.编写简易的通讯录:视频教程1)

总结 PHP xajax应用方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 212 ::
收藏到网摘: n/a

 一、 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 onclick="xajax_myFunc(‘hello’)" >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属性的控件值也被传入


本文来自:网页教学基地(www.wyzu.cn)原文链接:http://www.wyzu.cn/data/2008/1225/article_34106.html