【发布时间】:2016-04-15 07:46:54
【问题描述】:
我正在使用在 Cakephp 中呈现 json 格式的 API。
在AppController.php 我有:
public function beforeFilter() {
$this->RequestHandler->renderAs($this, 'json');
if($this->checkValid()) {
$this->displayError();
}
}
public function displayError() {
$this->set([
'result' => "error",
'_serialize' => 'result',
]);
$this->response->send();
$this->_stop();
}
但它不显示任何内容。但是,如果它正常运行而没有停止并显示:
$this->set([
'result' => "error",
'_serialize' => 'result',
]);
显示良好。
【问题讨论】:
-
我在某处读到,您需要在退出之前渲染视图以显示响应,但不确定..
-
beforeFilter 不会停止正在运行的控制器动作,你可以试试 $this->autoRender = false;这应该会停止您的控制器操作自动呈现视图。
-
我明白了,谢谢@HelloSpeakman。有没有办法在不更改 URL 的情况下重定向到另一个控制器?
标签: php json api cakephp serialization