Как я могу отобразить результаты ajax в виде в CakePHP без включения шаблона по умолчанию в ответ ajax? - PullRequest
5 голосов
/ 06 мая 2009

Я экспериментирую с AJAX в CakePHP, и похоже, что он работает, за исключением того, что возвращаемое представление включает шаблон по умолчанию. Как я могу избавиться от этого (или даже просто указать другой пустой шаблон для представления)?

Ответы [ 3 ]

7 голосов
/ 06 мая 2009
function ajaxFunction() {
    //do stuff
    $this->layout= 'ajax';
}

Ajax - это пустой макет для предотвращения добавления дополнительной разметки, именно то, что вам нужно.

http://book.cakephp.org/view/96/Layouts

5 голосов
/ 10 мая 2009

Попробуйте использовать компонент RequestHandler. Это будет обработано автоматически для вас. Затем вы можете сделать что-то подобное в вашем AppController :: beforeFilter ()

if($this->RequestHandler->isAjax()) {
    Configure::write('debug',0);
}
1 голос
/ 11 мая 2009

Вам также необходимо отключить вывод отладочной информации, в противном случае торт вытеснит всю информацию отладки, которую вы обычно видите внизу страницы:

function ajaxFunction() {
    //do stuff
    Configure::write('debug', 0);
    $this->layout= 'ajax';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...