我想要来自cakePHP的JSON响应,我将使用backbone.js进行渲染。但我没有JSON响应,而是获得default.ctp内容以及JSON响应,我不知道为什么。有什么我不能在JSON响应中包含default.ctp内容吗?
这是我获取JSON的代码
<?php
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Cache-Control: no-store, no-cache, max-age=0, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
//header('Content-type: text/json');
header('Content-type: application/json');
header('Pragma: no-cache');
//header("X-JSON: ".$content_for_layout);
$response['status'] = $status;
//$response['data']['titleForLayout'] = $title_for_layout;
$response['data']['validationErrors'] = $this->validationErrors;
$response['data']['sessionFlash'] = $this->Session->read('Message.flash.message');
//$response['data']['data'] = $this->data;
$response['data'][$this->request->params['controller']]['output'] = isset($output)?$output:null;
$output = json_encode($response);
if (isset($this->params['url']['callback'])) {
echo $this->params['url']['callback'] . '(' . $output . ');';
} else {
echo $output;
}
&GT;
其中data-&gt;输出包含提取的行。
请帮帮我。
我得到JSON响应,但问题是获取我不想要的响应周围的default.ctp内容。有办法吗?
答案 0 :(得分:4)
答案 1 :(得分:0)
您需要将布局设置为ajax或空布局。
在控制器中设置:
$this->layout = 'ajax';