2012-03-24 7 views
7

私は新しいCakePHP 2.1を使用しています.JsonViewを使用して、コントローラがクライアント側でJQueryによって作成されたajaxリクエストに応答するようにしたいと考えています。しかし、これはJsonViewのマニュアルに従って自動的に行われます。 Cakephp JsonView

http://book.cakephp.org/2.0/en/views/json-and-xml-views.html

私は私のroutes.phpファイル

Router::parseExtensions('json');

にこの行を追加し、私のコントローラで私は、ビューが時代遅れである必要があり

$this->RequestHandler->setContent('json', 'application/json'); 
$bookings = $this->Bookings->find('all'); 

$this->set('bookings', $bookings); 
$this->set('_serialize', 'bookings'); 

を持っていますが、とき私はこれを呼び出し、彼はまだ欠けているビューを指しているページを提供します。

+0

@BenjaminAllison:この質問は、ほぼ2週間前にWebApps.SEから移行されました。私のコメントは今では無関係で、私はそれを削除しています。 – dnbrv

+1

参考までに、複数のルーツを避けるために '$ this-> set( '_ serialize'、array( 'bookingings'));'と書かれていると思います(更新されたドキュメントを参照してください) – mark

+1

私は分かりませんしかし、私は何かが欠けていると思う - コントローラの$ viewClass属性。 http://book.cakephp.org/2.0/ja/appendices/new-features-in-cakephp-2-1.html#jsonview – raultm

答えて

5

application/jsonヘッダーでリクエストしていますか?

/controller/method.jsonにリクエストしてみてください。強制的に表示する必要があります。それがうまくいくならばあなたのヘッダーはおそらく正しく設定されていません。

1

/views/controller_name/json/action.ctpの内部にビューファイルを作成しましたか?