Codeigniter - 加载视图并在另一个视图中动态更新

时间:2013-02-20 04:52:47

标签: php codeigniter jquery

我从一个控制器加载两个视图

student controller     student_edit view  ---> on submit inserts data 
edit()             --->
loads 2 views           comments view      ---> should dynamically insert data and reload it

所以基本上我需要在 student_edit 页面添加评论框。 这是一个快照: Student_edit view does the default action. Only the comments should be added dynamically

我已尝试过以下代码,但似乎无法正常工作

$(document).ready(function(){
                var baseurl = $('#baseurl').val();
                $('.submitComment').submit(function(e){
                    e.preventdefault()
                    $.ajax({
                        url : baseurl + 'index.php/comment/insert',
                        data : $('form').serialize(),
                        type: "POST",
                        success : function(comment){
                            $(comment).hide().insertBefore('#insertbeforMe').slideDown('slow');
                        }
                    })
                    return false;
                })
            })

问题:以上代码会重新加载整个视图, student_edit表单也会提交。

任何人都可以帮我解释如何动态添加和重新加载评论吗?

1 个答案:

答案 0 :(得分:1)

创建一些只加载视图的ajax控制器

  class Ajax_Controller extend CI_Controller(){
    function __construct(){
     parent::__construct();
    //here you can check if request is ajax, if not ajax make some redirect to not show the url browsing
     }
    function ajaxview(){
    $this->load->view('myajax-view');
    }

    }

然后,每次你需要加载该视图时, 您可以为右视图模块执行jquery简单加载:

$('#right-div').load('site.com/ajax_controller/ajaxview');