程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 總結 PHP xajax應用方法

總結 PHP xajax應用方法

編輯:PHP綜合
一、 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屬性的控件值也被傳入

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved