PHP與 xajax使用方法說明
PHP與AJAX使用方法說明實(shí)例
WebjxCom提示:一、 HelloWrold步驟 PHP代碼 //服務(wù)器端 require_once (../../xajax.inc.php); //定義處理函數(shù), //并在處理函數(shù)中實(shí)例xajaxResponse對(duì)象, //調(diào)用其方法控制控件的值,再返回該對(duì)象 function myFunc($text){ //實(shí)例響應(yīng)對(duì)象 $objResponse = new xajaxResponse(); //改;一、 HelloWrold步驟;PHP代碼;//服務(wù)器端 ;require_once ("../../xajax.inc.php"); ;//定義處理函數(shù), ;//并在處理函數(shù)中實(shí)例xajaxResponse對(duì)象, ;//調(diào)用其方法控制控件的值,再返回該對(duì)象 ;function myFunc($text){ ;//實(shí)例響應(yīng)對(duì)象;$objResponse = new xajaxResponse(); ;//改變控件值 ;$objResponse->addAssign("div1","innerHTML",$text); ;return $objResponse; ;} ;//初始化xajax ;$xajax = new xajax(); //可以指定服務(wù)器端的響應(yīng)程序 ;$xajax->registerFunction("myFunc"); //注冊(cè)處理函數(shù) ;//開始接受請(qǐng)求 ;$xajax->processRequests(); ;PHP代碼;//客戶端(客戶端與服務(wù)器端應(yīng)共享同一個(gè)xajax對(duì)象,可做成公共配置文件) ;//在<head>區(qū)加入script ;$xajax->printJavascript('../'); //可用變量,由模板解析 ;//定義接受新內(nèi)容的控件 ;<div id="div1" name="div1"> </div> ;//執(zhí)行方法,xajax_為前綴,myFunc為注冊(cè)的函數(shù)名 ;<button >Click Me</button> ;總述:先構(gòu)造一個(gè)xajax對(duì)象供服務(wù)器端和客戶端共用,再定義相應(yīng)的處理函數(shù)(在函數(shù)中構(gòu)造xajaxResponse對(duì)象,并使用該對(duì)象的 addAssing等方法對(duì)客戶端控件操作),注冊(cè)處理函數(shù)然后使用processRequests方法開始運(yùn)行.客戶端需要調(diào)用xajax對(duì)象的 printJavascript方法來生成javascript代碼(加在head段),再定義觸發(fā)處理的事件,處理方法名為xajax_+注冊(cè)時(shí)的 函數(shù)名,該前綴可以在初始化xajax時(shí)修改;二、常用方法;xajax對(duì)象:;xajax($sRequestURI="",$sWrapperPrefix="xajax_",$sEncoding=;XAJAX_DEFAULT_CHAR_ENCODING,$bDebug=false);;構(gòu)造函數(shù),$sRequestURI 服務(wù)器uri,$sWrapperPrefix 客戶端調(diào)用時(shí)的前綴,$sEncoding 編碼;registerFunction($mFunction,$sRequestType=XAJAX_POST);注冊(cè)處理函數(shù),$mFunction 函數(shù)名,$sRequestType 提交類形,另一選擇為XAJAX_GET;可以使用類方法:;registerFunction(array "myFunc",&$myObj,"myMethod"));;'myFunc' 供前端調(diào)用的函數(shù)名 $myObject,類實(shí)例 'myMethod' 類的方法;registerExternalFunction($mFunc,$sIncludeFile,$sRequestType=XAJAX_POST);$sIncludeFile 包含函數(shù)定義的外部文件路徑,其它同registerFunction 用于引入單獨(dú)函數(shù)定義文件;registerCatchAllFunction($mFunction);定義一個(gè)默認(rèn)處理函數(shù),當(dāng)前端調(diào)用了一個(gè)不存在的函數(shù)時(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對(duì)象;xajaxResponse($sEncoding=XAJAX_DEFAULT_CHAR_ENCODING, $bOutputEntities=false);構(gòu)造函數(shù),可以指明編碼或是否轉(zhuǎn)換html標(biāo)記;setCharEncoding($sEncoding); //改變編碼;addConfirmCommands($iCmdNumber, $sMessage);用戶確認(rèn)操作. $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) //生成一個(gè)alert對(duì)話框;addRedirect($sURL) //重定向;addScript($sJS) //執(zhí)行javascript代碼;addScriptCall("myJSFunction", "arg 1", "arg 2", 12345);;調(diào)用javascript的函數(shù)myJSFunction;addRemove($sTarget) //移除一個(gè)元素;addCreate($sParent, $sTag, $sId, $sType="");在$sParent中增加一個(gè)子元素$sTag;//插入元素;addInsert($sBefore, $sTag, $sId);addInsertAfter($sAfter, $sTag, $sId);//加入表單項(xiàng);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. ThinkPHP5 通過ajax插入圖片并實(shí)時(shí)顯示(完整代碼)2. 詳解PHP設(shè)計(jì)模式之橋接模式3. PHP JSAPI調(diào)支付API實(shí)現(xiàn)微信支付功能詳解4. PHP設(shè)計(jì)模式之迭代器模式的使用5. PHP生成隨機(jī)密碼4種方法及性能對(duì)比6. php使用goto實(shí)現(xiàn)自動(dòng)重啟swoole、reactphp、workerman服務(wù)的代碼7. PHP使用Http Post請(qǐng)求發(fā)送Json對(duì)象數(shù)據(jù)代碼解析8. 一文帶你學(xué)會(huì)使用PHP接口9. PHP curl get post 請(qǐng)求的封裝函數(shù)示例【get、post、put、delete等請(qǐng)求類型】10. PHP laravel使用自定義郵件類實(shí)現(xiàn)發(fā)送郵件
