繁体   English   中英

通过ajax加载codeigniter视图

[英]load codeigniter view Via ajax

嗨,我在codeigniter中创建一个应用程序。 我的问题是我想像这样通过ajax动态加载页面内容:

$.ajax({
    url:'/customer/customerList',
    type: 'POST',
    dataType: 'text',
    success: function(data) {
        $('#container').empty().append(data)
    }
});

这是我的codeigniter模板的loadview函数:

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。 有什么解决方案吗?

如何更改模板以始终具有静态侧边栏菜单,并仅在应用程序的中间加载。

感谢您的重播。

您应该发送错误值作为第三个参数,以获取返回数据并打印未加载HTML文件的数据。 像这样 ::

回声$ this-> CI-> load-> view($ part,$ data,FALSE);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM