我在codeigniter中创建一个应用程序。我的问题是我想通过像这样的ajax动态加载页面内容:
$.ajax({
url:'/customer/customerList',
type: 'POST',
dataType: 'text',
success: function(data) {
$('#container').empty().append(data)
}
});
这是我的codeigniter模板加载视图功能:
function loadView($page, $data = NULL) {
$parts = array('header', 'menu-top', 'sidebar-menu', $page, 'footer');
foreach($parts as $part) {
if ($part == 'header') {
$this -> CI -> load -> view($part, $data);
} else
if ($part == 'menu-top') {
$data['menu'] = $this -> loadMenu('menu-top');
$this -> CI -> load -> view($part, $data);
} else
if ($part == 'sidebar-menu') {
$data['menu'] = $this -> loadMenu('sidebar-menu');
$data['controller_name'] = $this -> CI -> uri -> segment(1);
$data['function_name'] = $this -> CI -> uri -> segment(3);
$this -> CI -> load -> view($part, $data);
} else
if ($part == $page) {
$this -> CI -> load -> view($part, $data);
} else
if ($part == 'footer') {
$this -> CI -> load -> view($part, $data);
}
}
}
我将该模板用于静态菜单(无需重新加载)。
但是当我用ajax加载控制器/视图时,它返回所有的html,因为这个模板。有没有解决此解决方案的选项?
如何将模板设置为始终具有静态侧边栏菜单,并仅加载应用程序的中间部分。
感谢重播。
答案 0 :(得分:0)
您应该发送一个false值作为第三个参数来获取返回数据并打印该数据而不加载HTML文件。像这样::
echo $ this-> CI-> load-> view($ part,$ data,FALSE);