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

AJAX技术
AJAX 用户注册时的应用实例
ajax readyState的五种状态详解
php AJAX POST的使用实例代码
Ajax 用户名验证是否存在
Ajax+PHP简单基础入门实例教程
AJAX 异步传输数据的问题
ASP AJAX 静态分页
js装载xml文件然后发向服务器的实现代码
完成了AJAX树附原理分析
AJAX 支持搜索引擎问题分析
ajax Suggest类似google的搜索提示效果
Ajax 框架学习笔记
用ajax xml的数据读取的HelloWorld程序
Ajax 表单验证 实现代码
Ajax request response 乱码解决方法
AJAX 随记
ajax 乱码的一种解决方法
ajax session过期问题的几个解决方案
四步学会 Ajax
Ajax异步(请求)提交类 支持跨域

AJAX技术 中的 总结 PHP xajax应用方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 36 ::
收藏到网摘: 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