как передать значения из ajax в контроллер по нажатию кнопки? - PullRequest
0 голосов
/ 31 марта 2020

это мой js код, который выполняется при нажатии кнопки

    $("#search_tutor").click(function(){
    $("#show_tutors").hide();
    var subject = $( ".subject" ).val();
    var degree_level = $(".degree_level").val();
    var city = $(".city").val();
    console.log(subject);
    console.log(degree_level);
    console.log(city);
      $.ajax({
      url:"<?php echo base_url(); ?>public_controller/search_tutor_jquery",
      method:"post",
      data:{subject: subject, degree_level : degree_level, city : city},
      success:function(data){
        $('#search_results').html(data);

      }
    });

    });

и это функция контроллера

        public function search_tutor_jquery(){
  $subject = strtolower($this->input->post('subject'));
  $degree_level = strtolower($this->input->post('degree_level'));
  $city = strtolower($this->input->post('city'));
  echo $subject; //prints nothing
  $data['filtered_tutors'] = $this->public_model->search($subject,$degree_level,$city);
  $this->load->view('public/search_results',$data);
}

значения регистрируются в консоли, но я не могу получить значения в контроллере. кто-нибудь может мне помочь? заранее спасибо

Ответы [ 2 ]

0 голосов
/ 31 марта 2020

Что вы подразумеваете под

$('#search_results').load("<?php echo base_url('public_controller/search_tutor_jquery') ?>");

Попробуйте

$('#search_results').html(data);

Подробнее о load() функция здесь . Он отправляет новый пустой запрос и загружает эти данные в ваш элемент. Он не загружает ответ.

0 голосов
/ 31 марта 2020

Вы пытались использовать

$_POST['subject']

вместо

$this->input->post('subject')

?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...