在CakePHP中路由到JSON响应

时间:2014-03-17 20:56:43

标签: php json cakephp cakephp-2.4

在CakePhp项目中,我有一个带有控制器的项目模型:

class ItemsController extends AppController{
  public $components = array('RequestHandler');

  public function data(){
    $items = $this->Item->find('all');
    $this->set('items', $items);
    $this->set('_serialize', array('items'));
  }
}

routes.php中指定:

Router::parseExtensions('json');

在向/items/data.json

发出请求时,我得到了我想要的JSON响应

如何在致电/items/data时获得JSON响应?以及如何在路由中连接JSON响应。例如,如果我希望/data/items.php呈现与/items/data.json请求相同的JSON。

谢谢!

1 个答案:

答案 0 :(得分:0)

我已经解决了在过滤器

中使用RequestHandler的一些方法
public function beforeFilter() {
  parent::beforeFilter();
  $this->RequestHandler->setContent('json');
  $this->RequestHandler->renderAs($this, 'json');
}