xajax基礎心得


          轉自:http://spaces.msn.com/blackwoodk ... 2wpZwYtrg!169.entry

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

          因為基本都是gb2312所以把xajax.inc.php里面的編碼改了一下,不過老實說UTF-8不錯:
          $this->xml = "<?xml version="1.0" encoding="GB2312"?>";
          重新封裝了一下KaneXajax類,
          除此以外基本沒怎么改動。

          <?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);
          ?>
          一個最基本的php就ok了,當然tpl里面<{$xajax_javascript}>要加到<HEAD></HEAD>之間

          再說說基本的方法吧:

          * addAssign($sTargetId,$sAttribute,$sData)
          設置$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)
          預制$sTargetId元素的$sAttribute屬性為$sData,老實說,沒在實戰中用過呢,呵呵

          $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)
          創建$sParentId元素的一個新的子元素,其name為$sTagname,Id為$sId,類型為$sType

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

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

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

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

          過兩天再把改好的一些代碼貼上來吧,感覺還有的優化
          posted on 2006-09-13 22:22 JRobot 閱讀(248) 評論(0)  編輯  收藏 所屬分類: xml相關
          主站蜘蛛池模板: 万安县| 白银市| 东方市| 辛集市| 永和县| 博乐市| 阜南县| 五台县| 仁寿县| 阿拉善左旗| 全椒县| 永年县| 磐石市| 新丰县| 江达县| 边坝县| 棋牌| 乌苏市| 西藏| 都兰县| 商洛市| 谢通门县| 彭阳县| 延边| 观塘区| 田林县| 黄冈市| 汤原县| 沽源县| 开平市| 嘉定区| 凤翔县| 罗江县| 收藏| 乐昌市| 库尔勒市| 襄城县| 盐边县| 新竹市| 四子王旗| 罗甸县|