我正在使用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
。
答案 0 :(得分:0)
添加您的app / Config / routes.php ...
Router::parseExtensions();
要记住的一件重要事情是,必须在此行之前定义上述代码
require CAKE . 'Config' . DS . 'routes.php';
然后去你的控制器&添加RequestHandler
组件。
public $components = array('RequestHandler');
现在您的/users/login
看起来像
那就是它。