前にどっかの記事を参考にやったんだけど、その記事が消えてしまっていたので自分のためにmemo
CodeIgniterは展開済みとして、Xajaxをダウンロードして展開する。
xajax_core と言うディレクトリを、 xajax に変更し、 application/third_party へ配置
xajax_js と言うディレクトリは CodeIgniter の index.php と同じ場所に配置
xajax/xajax.inc.php を xajax/xajax.php に変更する。(コンストラクタ側のコードで対応)
CodeIgniterのコントローラ側では、コンストラクタに以下のコードを追加
include(APPPATH.'third_party/xajax/xajax.inc'.EXT); // Xajax設定 $this->xajax = new xajax(base_url()); $this->xajax->configure("javascript URI", base_url()); //$this->xajax->configure("debug", true); $this->xajax->register(XAJAX_FUNCTION, array('_func', $this, '_xajax_func')); $this->xajax->processRequest();
メソッドは以下の感じ。
function _xajax_func() { $objResponse = new xajaxResponse(); $objResponse->assign("foo", "innerText", $this->foo); $objResponse->call("hogehoge"); return $objResponse; }
ビューは以下の感じ
<body onload="xajax__func(); return true;">
ちなみに、xajax_js を違うところに配置する場合は、以下の2つのファイルの中のパスを書き換える必要があるっぽい。
- xajax/xajax.php
- xajax/plugin_layer/xajaxDefaultIncludePlugin.inc.php