CakePHP:_serialize不生成JSON响应

时间:2014-12-19 01:14:40

标签: php json cakephp cakephp-2.0

我正在使用CakePHP v.2.5.x ...

我正在尝试编写一个可以响应的控制器操作和HTML视图或JSON。出于某种原因,无论我尝试什么,响应都是HTML页面,而不是标记。

这是我的routes.php

Router::parseExtensions('json');

这是我的控制器动作:

public function login() {
    $this->set('foo', 'bar');
    $this->set('_serialize', array('foo') );
}

这将返回/users/login视图的HTML ...不是JSON响应。

它非常令人困惑,因为我有一个不同的动作,可以使用.json扩展名。我错过了什么?

解决!

感谢ndm指出我忘记在我的组件中包含RequestHandler

1 个答案:

答案 0 :(得分:0)

添加您的app / Config / routes.php ...

Router::parseExtensions();

要记住的一件重要事情是,必须在此行之前定义上述代码

require CAKE . 'Config' . DS . 'routes.php';

然后去你的控制器&添加RequestHandler组件。

 public $components = array('RequestHandler');

现在您的/users/login看起来像

enter image description here 那就是它。