xajax基礎(chǔ)心得


          轉(zhuǎn)自:http://spaces.msn.com/blackwoodk ... 2wpZwYtrg!169.entry

          最近研究了一下ajax,最后選了xajax作為基本class
          參考站點(diǎn):http://xajax.sourceforge.net

          因?yàn)榛径际莋b2312所以把xajax.inc.php里面的編碼改了一下,不過老實(shí)說UTF-8不錯(cuò):
          $this->xml = "<?xml version="1.0" encoding="GB2312"?>";
          重新封裝了一下KaneXajax類,
          除此以外基本沒怎么改動(dòng)。

          <?php
          require_once(‘Smarty/Smarty.class.php‘);
          require_once(‘Xajax/xajax.inc.php‘);
          function myFunction($arg)
          {
          $objResponse = new xajaxResponse();
          $objResponse->addAssign("SomeElementId","innerHTML", $newContent);
          return $objResponse->getXML();
          }
          $Kanexajax = new KaneXajax();
          $Kanexajax->registerFunction("myFunction");
          $Kanexajax->processRequests();
          $KaneSMARTY = new KaneSmarty();
          $KaneSMARTY->assign(‘xajax_javascript‘, $xajax->getJavascript());
          $KaneSMARTY->display(myTEMPLATE);
          ?>
          一個(gè)最基本的php就ok了,當(dāng)然tpl里面<{$xajax_javascript}>要加到<HEAD></HEAD>之間

          再說說基本的方法吧:

          * addAssign($sTargetId,$sAttribute,$sData)
          設(shè)置$sTargetId元素的$sAttribute屬性為$sData,常用的有div的innerHTML,input的value什么的。

          $objResponse->addAssign("contentDiv","innerHTML","Some Text");
          $objResponse->addAssign("checkBox1","checked","true");
          * addAppend($sTargetId,$sAttribute,$sData)
          追加$sData到$sTargetId元素的$sAttribute屬性上

          $objResponse->addAppend("contentDiv","innerHTML","Some Text");
          * addPrepend($sTargetId,$sAttribute,$sData)
          預(yù)制$sTargetId元素的$sAttribute屬性為$sData,老實(shí)說,沒在實(shí)戰(zhàn)中用過呢,呵呵

          $objResponse->addPrepend("contentDiv","innerHTML","Some Text");
          * addReplace($sTargetId,$sAttribute,$sSearch,$sData)
          替換$sTargetId元素的$sAttribute屬性中的$sSearch為$sData。

          $objResponse->addReplace("contentDiv","innerHTML","text","<strong>text</strong>");
          * addClear($sTargetId,$sAttribute)
          清空$sTargetId元素的$sAttribute屬性

          $objResponse->addClear("Input1","value");
          * addCreate($sParentId, $sTagname, $sId, $sType)
          創(chuàng)建$sParentId元素的一個(gè)新的子元素,其name為$sTagname,Id為$sId,類型為$sType

          $objResponse->addCreate("form1","input", "pass", "password");
          * addRemove($sElementId)
          移除$sElementId元素

          $objResponse->addRemove("div1");
          * addAlert($sMsg)
          彈出一個(gè)內(nèi)容為$sMsg的提示框

          $objResponse->addAlert("This is some text");
          * addScript($sJS)
          執(zhí)行一段javascript

          $objResponse->addScript("var txt = prompt(‘get some text‘);");
          $objResponse->addScript("window.location=""."demo.php?id=1"."";");
          這兩天用PHP+SMARTY+XAJAX寫了一些小東西,感覺上就是調(diào)試完全靠感覺,不過
          按照DB的debug,Smarty的debug,xajax的debugOn(),的步驟,一步步地測(cè)好再往下寫會(huì)好很多
          因?yàn)椋瑂marty已經(jīng)夠敏感,經(jīng)常給你一張大白臉,而xajax更加敏感,任何的地方有一點(diǎn)小錯(cuò)誤,他立刻完蛋,這樣的女人娶回家真是挺可怕的,不過誰讓她支持Smarty呢?

          過兩天再把改好的一些代碼貼上來吧,感覺還有的優(yōu)化
          posted on 2006-09-13 22:22 JRobot 閱讀(246) 評(píng)論(0)  編輯  收藏 所屬分類: xml相關(guān)
          主站蜘蛛池模板: 山阳县| 鄱阳县| 古蔺县| 田东县| 宣城市| 郓城县| 恩施市| 都昌县| 昌江| 拜城县| 绵阳市| 许昌市| 怀仁县| 琼海市| 讷河市| 波密县| 逊克县| 藁城市| 南昌市| 沁源县| 井冈山市| 深水埗区| 济宁市| 伊宁县| 敦化市| 鲁山县| 洛川县| 观塘区| 依兰县| 新昌县| 林州市| 黄梅县| 洛川县| 靖远县| 同心县| 麦盖提县| 榕江县| 会理县| 古田县| 罗城| 盐边县|