PHP與 xajax使用方法說明
PHP與AJAX使用方法說明實例
WebjxCom提示:一、 HelloWrold步驟 PHP代碼 //服務(wù)器端 require_once (../../xajax.inc.php); //定義處理函數(shù), //并在處理函數(shù)中實例xajaxResponse對象, //調(diào)用其方法控制控件的值,再返回該對象 function myFunc($text){ //實例響應(yīng)對象 $objResponse = new xajaxResponse(); //改;一、 HelloWrold步驟;PHP代碼;//服務(wù)器端 ;require_once ("../../xajax.inc.php"); ;//定義處理函數(shù), ;//并在處理函數(shù)中實例xajaxResponse對象, ;//調(diào)用其方法控制控件的值,再返回該對象 ;function myFunc($text){ ;//實例響應(yīng)對象;$objResponse = new xajaxResponse(); ;//改變控件值 ;$objResponse->addAssign("div1","innerHTML",$text); ;return $objResponse; ;} ;//初始化xajax ;$xajax = new xajax(); //可以指定服務(wù)器端的響應(yīng)程序 ;$xajax->registerFunction("myFunc"); //注冊處理函數(shù) ;//開始接受請求 ;$xajax->processRequests(); ;PHP代碼;//客戶端(客戶端與服務(wù)器端應(yīng)共享同一個xajax對象,可做成公共配置文件) ;//在<head>區(qū)加入script ;$xajax->printJavascript('../'); //可用變量,由模板解析 ;//定義接受新內(nèi)容的控件 ;<div id="div1" name="div1"> </div> ;//執(zhí)行方法,xajax_為前綴,myFunc為注冊的函數(shù)名 ;<button >Click Me</button> ;總述:先構(gòu)造一個xajax對象供服務(wù)器端和客戶端共用,再定義相應(yīng)的處理函數(shù)(在函數(shù)中構(gòu)造xajaxResponse對象,并使用該對象的 addAssing等方法對客戶端控件操作),注冊處理函數(shù)然后使用processRequests方法開始運行.客戶端需要調(diào)用xajax對象的 printJavascript方法來生成javascript代碼(加在head段),再定義觸發(fā)處理的事件,處理方法名為xajax_+注冊時的 函數(shù)名,該前綴可以在初始化xajax時修改;二、常用方法;xajax對象:;xajax($sRequestURI="",$sWrapperPrefix="xajax_",$sEncoding=;XAJAX_DEFAULT_CHAR_ENCODING,$bDebug=false);;構(gòu)造函數(shù),$sRequestURI 服務(wù)器uri,$sWrapperPrefix 客戶端調(diào)用時的前綴,$sEncoding 編碼;registerFunction($mFunction,$sRequestType=XAJAX_POST);注冊處理函數(shù),$mFunction 函數(shù)名,$sRequestType 提交類形,另一選擇為XAJAX_GET;可以使用類方法:;registerFunction(array "myFunc",&$myObj,"myMethod"));;'myFunc' 供前端調(diào)用的函數(shù)名 $myObject,類實例 'myMethod' 類的方法;registerExternalFunction($mFunc,$sIncludeFile,$sRequestType=XAJAX_POST);$sIncludeFile 包含函數(shù)定義的外部文件路徑,其它同registerFunction 用于引入單獨函數(shù)定義文件;registerCatchAllFunction($mFunction);定義一個默認處理函數(shù),當前端調(diào)用了一個不存在的函數(shù)時,執(zhí)行此操作;registerPreFunction($mFunction);定義預(yù)處理函數(shù),前端調(diào)用任何函數(shù),都先調(diào)用此方法;processRequests() //開始執(zhí)行;printJavascript($sJsURI="", $sJsFile=NULL);輸出前端javascript代碼,;getJavascript($sJsURI="", $sJsFile=NULL);將應(yīng)用于前端的javascript代碼輸出到變量,以便模板引擎使用;xajaxResponse對象;xajaxResponse($sEncoding=XAJAX_DEFAULT_CHAR_ENCODING, $bOutputEntities=false);構(gòu)造函數(shù),可以指明編碼或是否轉(zhuǎn)換html標記;setCharEncoding($sEncoding); //改變編碼;addConfirmCommands($iCmdNumber, $sMessage);用戶確認操作. $iCmdNumber 如果選’取消’,緊接著要跳過的命令數(shù),$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) //執(zhí)行javascript代碼;addScriptCall("myJSFunction", "arg 1", "arg 2", 12345);;調(diào)用javascript的函數(shù)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事件,執(zhí)行javascript方法clickit;//移除事件處理;addRemoveHandler("contentDiv", "onclick", "content_click");;//加入外部js文件;addIncludeScript("functions.js");;//返回response,可以直接返回$ajaxResponse();;getXML();另外:在前端程序,可使用如下方法將form的值提交到后端;xajax_myFunc(xajax.getFormValues('formId'));;傳入的是form的id,如果加入第二參數(shù)為true;則form中有disable屬性的控件值也被傳入
相關(guān)文章:
1. PHP循環(huán)與分支知識點梳理2. 使用游標進行PHP SQLSRV查詢的方法與注意事項3. PHP驗證碼工具-Securimage4. PHP基礎(chǔ)之數(shù)據(jù)類型7——資源(Resource)5. PHP橋接模式Bridge Pattern的優(yōu)點與實現(xiàn)過程6. 利用PHP程序設(shè)定防止MySQL注入或HTML表單濫用7. PHP正則表達式函數(shù)preg_replace用法實例分析8. PHP5中的this,self和parent關(guān)鍵字詳解9. PHP基礎(chǔ)之預(yù)定義接口3——IteratorAggregate接口10. php設(shè)計模式之備忘模式分析【星際爭霸游戲案例】
