Я экспериментирую с AJAX в CakePHP, и похоже, что он работает, за исключением того, что возвращаемое представление включает шаблон по умолчанию. Как я могу избавиться от этого (или даже просто указать другой пустой шаблон для представления)?
function ajaxFunction() { //do stuff $this->layout= 'ajax'; }
Ajax - это пустой макет для предотвращения добавления дополнительной разметки, именно то, что вам нужно.
http://book.cakephp.org/view/96/Layouts
Попробуйте использовать компонент RequestHandler. Это будет обработано автоматически для вас. Затем вы можете сделать что-то подобное в вашем AppController :: beforeFilter ()
if($this->RequestHandler->isAjax()) { Configure::write('debug',0); }
Вам также необходимо отключить вывод отладочной информации, в противном случае торт вытеснит всю информацию отладки, которую вы обычно видите внизу страницы:
function ajaxFunction() { //do stuff Configure::write('debug', 0); $this->layout= 'ajax'; }