Ajax On Yii2 For Fullcalendar

Hello,

I’m using Fullcalendar for Yii2 (https://github.com/philippfrenzel/yii2fullcalendar-demo) and I want to save with Ajax the event when I click on a date. The datas commes from the dropdownlist.

It seems that my code couldn’t find the function in my controller, maybe it’s the Url ?

My view with JS and the link to my funstion Ajax on my controller :


 <?php 

        $form = ActiveForm::begin(); 

    ?>


    <div class="row">

        <div class="col-md-4">

            <?= $form->field($feuille_de_jour_responsable, 'ID_Categorie')->dropDownList(CategorieFdj::find()->select(['Nom', 'ID_Categorie'])->indexBy('ID_Categorie')->column(), ['id'=>'catId']); ?>

        </div>

        <div class="col-md-4">

            <?= $form->field($feuille_de_jour_responsable, 'ID_Poste_FDJ')->dropDownList(PosteFdj::find()->select(['Nom_Poste_FDJ', 'ID_Poste_FDJ'])->indexBy('ID_Poste_FDJ')->column(), ['id'=>'postId']); ?>

        </div>

        <div class="col-md-4">

            <?= $form->field($feuille_de_jour_responsable, 'Code_Personnel')->dropDownList(Personnel::find()->select(['Nom_Personnel', 'Code_Personnel'])->indexBy('Code_Personnel')->column(), ['id'=>'codePers']); ?>

        </div>

    </div>




    <?php ActiveForm::end();?>





<?php 





    $JSCode = <<<EOF


    function(start,end) {

        //alert ($("select[id=catid] option:selected").text());

        var title = $("select[id=codePers] option:selected");

        var codePersonnel = $("select[id=codePers] option:selected").val();

        var posteId = $("select[id=postId] option:selected").val();

        var categorieID = $("select[id=catId] option:selected").val();

        //alert($('#catid').val());

        var eventData;


        $.ajax({

            url : '/site/Ajax',

            dataType: 'json',

            data: {

                codePersonnel : codePersonnel

                //dateCalendaire : start.format(),

                //posteId : posteID,

                //categorieID : categorieID


               // end: thedate1

            },

            success: function (data, response, event, date) {

                alert("success here");

                /*$('#calendar').fullCalendar('renderEvent',

                {

                    title: title,

                    start: start.format()

                    //end: thedate1

                }, true);*/

                eventData = {

                    title: title,

                    start: start.format(),

                    end: start.format(),

                };

                $('#calendar').fullCalendar('renderEvent', eventData, true);

            },

            error: function () {

                alert("Oops! Something didn't work");

            }

        });




    }


EOF;


$JSEventClick = <<<EOF

function(calEvent, jsEvent, view) {

    alert('Event: ' + calEvent.title);

    alert('Coordinates: ' + jsEvent.pageX + ',' + jsEvent.pageY);

    alert('View: ' + view.name);

    // change the border color just for fun

    //$(this).css('border-color', 'red');

}

EOF;




?>


    <?= yii2fullcalendar\yii2fullcalendar::widget([

        'id' => 'calendar',

        'clientOptions' => [

            'height' => 650,

           // 'language' => 'fa',

            //'eventLimit' => TRUE,

            'selectable' => true,

            'selectHelper' => true,

            'droppable' => true,

            'editable' => true,

//          'theme'=>true,

            'fixedWeekCount' => false,

            'defaultDate' => date('Y-m-d'),

            'eventClick' => new JsExpression($JSEventClick),

            'select'=>new JsExpression($JSCode)

        ],            


    ]);

?>


    <?= Html::encode($JSCode); ?> 


    <?= Html::encode($JSEventClick); ?>  

And the function on my controller (SiteController)


 public function actionAjax(){


     if(isset(Yii::$app->request->post())){

        $codePersonnel = "Ajax Worked!";

        echo $codePersonnel;

    }else{

        $codePersonnel = "Ajax failed";

        echo $codePersonnel;

    }


    // return Json    

    return \yii\helpers\Json::encode($codePersonnel);


  }

Thank you for help =)

Sarah

You should see this Fullcalendar on click event and assetbundle for main.js