我一直在CakePHP工作,我遇到了以下问题。 我有一个带有1个视图和1个方法的管理页面(AdminsController),索引。 索引视图包括指向其他控制器和视图的硬编码链接。 我确实为所有这些链接分配了一个类,用于在管理内容中加载DIV以及其中的视图内容。通过这个脚本:
$(".cmsPage").click(function() {
var url = $(this).attr("href");
$.ajax({
url: url,
success: function(data){
$("#admin_wrapper", "#admin_close", "#admin_content").fadeIn('slow');
$("#admin_content").html(data);
}
});
return false;
});
现在,在其中一个页面控制器的视图中,页面/概述我对同一控制器中的其他方法进行了ajax调用, update_menu < / strong>即可。这种方法也有一个观点。这是我的控制器/方法中现有的。
public function update_menu(){
$this->layout = '';
foreach($this->request->data as $menu){
//$this->layout = 'ajax';
foreach($menu as $id => $submenu){
$saveData = array('id' => $id, 'submenu' => $submenu);
$this->Page->save($saveData);
$this->render('update_menu','ajax');
}
}
}
管理控制器具有管理布局,概述也是如此。 当我尝试从update_menu获取数据时会发生这种情况。 (内部$(文件).ready(function(){});)
$("#save_page").click(function(){
toArray();
return false;
});
function toArray()(在$(document).ready(function(){})之外;)
function toArray()
{
var serialized = $('ol.sortable').nestedSortable('serialize');
$.ajax({
type: 'POST',
url: 'update_menu',
data: serialized,
success: function(data){
$("#result").html('De pagina\'s zijn opgeslagen!');
}
});
}
我在控制台中得到的是admins/index
的整个渲染。视图&安培;布局。
我需要做什么来获取视图结果而不是admins/index
。
有关信息,我会使用http://mjsarfatti.com/sandbox/nestedSortable/forum/categories/releases。
问候, 危害。
答案 0 :(得分:0)
将布局设置为ajax布局:
$this->layout = "ajax";
或者,通过在AppController中包含RequestHandler组件来自动化它:
public $components = array(
"RequestHandler"
);
答案 1 :(得分:0)
由于这是对此的ajax调用,因此您无需在操作中加载任何布局 试试这个。
$this->layout = null;