如何修改控制器变量?

时间:2017-08-31 08:13:52

标签: codeigniter codeigniter-3

控制器发送了一个变量:

    public function ajout()
    {
        $data = array();
        $data['_mode'] = MODE_AJOUT;
        $this->load->view('mission/mission', $data);
    }

在视图中,我想在$_mode提交表单后将变量MODE_MODIF更改为值constants.php(来自ajax配置文件的常量):

$("#form_sample_1").on("submit", function(){
    var url_ = "<?php echo ( $_mode == MODE_AJOUT ? site_url('ajax/ajouterMission') : site_url('ajax/modifierMission') ); ?>";
    $.ajax({
            data: $(this).serialize(),
            type: "POST",
            url:  url_,
            async: false,
            success: function (data, textStatus, jqXHR ) {
                        alert("Donn\351es enregistr\351es !");
                     }
     });
    return false;
});

怎么做?或者这是不可能的?

1 个答案:

答案 0 :(得分:1)

添加属性。

         MY_Class Extends CI_Controller{
           private $_mode; 
         }

         public function ajout(){
          $data = array();
          $data['_mode'] = MODE_AJOUT;
          $this->load->view('mission/mission', $data);
        }

         //Call this function with ajax
        public checkForm(){
         $this->_mode = $newValue; //set attribute
         $data['_mode'] = $this->_mode; //get attribute
         echo json_encode($data);
       }