1

1 つのコントローラーから 2 つのビューを読み込んでいます

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 に答える