1

我正在从单个控制器加载两个视图

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 视图执行默认操作。 仅应动态添加评论

我已经尝试了以下代码,但似乎没有工作

$(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 表单也被提交了。

谁能帮助我如何动态添加和重新加载评论?

4

1 回答 1

2

创建一些仅加载视图的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');
于 2013-03-23T11:45:40.257 回答