[CakePHP] JSONを使う事前準備と、モデルのデータをJSONに変更する処理

CakePHPでAjaxを使う時、JSONを使ってjQueryとデータをやり取りすることが多くなると思います。
CakePHPに簡単にJSONの出力ができる仕組みが搭載されていますので、これからその設定方法について説明します。
routes.php AppController.phpへ追記
JSONを使うには2つのファイルへの追記が必要になっています。
routes.php
app > Config > routes.phpを開き、以下のコードを追記します。
これで JSON と XML が使えるようになります。
app > Controller > AppController.phpを開き、以下のコードを追記します。
サイト全体で使う場合は AppController.php に記載し、個別のコントローラーで使う場合は利用するコントローラーに記載するようにします。
コントローラーでJSONを出力
1 2 3 4 5 6 7 8 9 |
function json_test(){ $this->set('posts', $this->paginate()); //JSONデータの出力 $this->viewClass = 'Json'; $this->set('_serialize', array('posts')); } |
$this->set(‘_serialize’, array(‘posts’)); がPHPの配列のデータをJSONに変換している処理です。
$this->viewClass = ‘Json’; を記載すると、通常使われるビューは使わずに真っ白い画面にJSONのデータだけが出力されるようになります。関連記事
- [PHP] 配列をJSONにエンコードする方法
- [CakePHP] RequestHandlerを使ってAjax通信かどうかを判定
- [CakePHP] トップページ(ホームページ)を設定する方法
- [jQuery] FormでPOST/GETの内容をたった一行で取得する方法
- [CakePHP] DebugKitのインストール方法