1

backbone.js を使用してレンダリングする CakePHP からの JSON 応答が必要です。しかし、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;
}

?>

data->output には、フェッチされた行が含まれます。

私を助けてください。

JSON 応答を取得しますが、問題は、応答を囲む default.ctp コンテンツを取得することです。これは望ましくありません。それを行う方法はありますか?

4

2 に答える 2

4

リクエスト処理が必要なようです http://book.cakephp.org/2.0/en/core-libraries/components/request-handling.html

于 2012-11-02T13:04:25.467 に答える
0

レイアウトを ajax または空のレイアウトに設定する必要があります。

コントローラーでこれを設定します:

$this->layout = 'ajax';
于 2013-06-28T14:34:08.830 に答える