Ajax
1.3からは非推奨になりました。2.0では削除されます。
代わりにJsヘルパーまたはHtmlヘルパーを使用して下さい。
古い情報(1.2)
Prototypeやscript.aculo.usを使ったAjaxのためのヘルパーです。ビューの中でJavascriptを書かずに、phpを使ってAjaxを実装できるので便利です。
Ajaxでリクエストを受け取るコントローラーのアクションでは使用するビューのレイアウトを'ajax'に切り替えます。ajaxというヘッダやフッタのないレイアウトが用意されています。(Request Handler コンポーネントを使って自動でajax用レイアウトに切り替える事もできます。)
$this->layout="ajax";
主なメソッド
- link(string $title, string $href, array $options, string $confirm, boolean $escapeTitle)
- remoteFunction(array $options)
- remoteTimer(array $options)
- form(string $action, string $type, array $options)
- submit(string $title, array $options)
- observeField(string $fieldId, array $options)
- observeForm(string $fieldId, string $url, array $options)
- autoComplete(string $fieldId, string $url, array $options)
- drag(string $id, array $options)
- drop(string $id, array $options)
- dropRemote(string $id, array $options)
- slider(string $id, string $track_id, array $options)
- editor(string $id, string $url, array $options)
- sortable(string $id, array $options)
主なオプション
- $options['url'](リクエストを送信するCakePHPスタイルのURL)
- $options['update'](更新するDOMエレメントのID)
- $options['frequency'](チェックする間隔)
- $options['type'](リクエストのタイプ、デフォルトはasynchronous)
- $options['indicator'](読み込み中に表示するDOMエレメントのID)
その他のオプション
script.aculo.usで使用するオプションを指定したりします。
コールバック・オプション
一連の動作中に呼び出すJavascriptの関数を指定します。
- $options['condition'](リクエストを実行するかどうかの条件)
- $options['confirm'](リクエストを実行するかを確認するアラート)
- $options['before'](リクエストが作成される前)
- $options['after'](リクエストを送信した直後)
- $options['loading'](サーバーからデータを受信している時)
- $options['loaded'](データの受信が完了した時)
- $options['interactive'](データを受信し終わる前に操作した時)
- $options['complete'](XMLHttpRequestが完了した時)
link(string $title, string $href, array $options, string $confirm, boolean $escapeTitle)
echo $ajax->link("Delete this post", null, array("update" => "posts", "url" => "delete/{$postid->id}","loading" => "Element.show('loading')"));