前にどっかの記事を参考にやったんだけど、その記事が消えてしまっていたので自分のために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