在CakePHP控制器中响应json

时间:2012-06-01 02:50:28

标签: cakephp response

我的代码看起来像这样:

if ($this->request->is('ajax')) {
    $this->Comment->Save();
    $this->set('comment', $this->Comment->read());
    $this->set('_serialize', array('comment');
}

我没有使用Ajax响应,而是收到视图丢失的错误。还有其他东西需要用json回复吗?我认为这是用响应助手“自动”处理的。

1 个答案:

答案 0 :(得分:1)

By enabling RequestHandlerComponent in your application, and enabling support for the xml 
and or json extensions, you can automatically leverage the new view classes.

所以你仍然需要启用一些东西:

添加

public $components = array('RequestHandler');

和routes.php

Router::parseExtensions(array('json'));

您可能必须让您的网址看起来像controller / action.json才能实现自动化。你可以在控制器中添加$ this-> viewClass ='Json'(不是100%肯定)。