Как исправить список, с помощью ajax, используя CakePHP 3.6? - PullRequest
0 голосов
/ 28 июня 2019

Как исправить список с помощью ajax, используя CakePHP 3.6?Мне нужно заполнить список с информацией из контроллера, когда выберите другой список, я не могу заставить его работать ..

Я следую этому примеру https://discourse.cakephp.org/t/how-to-make-simple-jquery-ajax-in-cakephp-3-7/5834, но у меня есть ошибка в $ .ajax ({введите: 'POST' и измените на
$ .ajax ({type: 'get'

Мой контроллер

public function getEvidenciascursosfiltrado() {
 $evidencias = $this->Competitions->Evidences->find();
 return $this->response
       ->withType('application/json')
       ->withStringBody(json_encode([
      'evidencias' => $evidencias,
    ]));
}

public function getCursosfiltrado() {
$evidencias = $this->Competitions->Courses->find();
 //return $this->response->withType("application/json")->withStringBody(json_encode($evidencias));
 return $this->response
       ->withType('application/json')
       ->withStringBody(json_encode([
      'curso' => $evidencias,


    ]));

}

Мои js внутри add.ctp

<script type="text/javascript">
$(function(){
  $('#courses').on('change', function() {
    var id = $(this).val(); 
    if(id == '-1'){
      $('#evidences-id').html(`<option value="-1">Select Evidencia</option>`);
    }else{
      $("#divLoading").addClass('show');
        $('#evidences-id').html(`<option value="-1">Select Evidencia</option>`);    
      $.ajax({
              type:'get',
              url: "<?php echo $this->Url->build(['controller' => 'Competitions', 'action' => 'getEvidenciascursosfiltrado'] ); ?>",                  
              data:'id='+id+'&type=Evidencia',
              dataType: 'json',
              success:function(result){
                  // $("#divLoading").removeClass('show');
                  // $('#state').append(result);
                  }
          });   
      }
    });
});
</script>

Моя форма

<?= echo $this->Form->control('evidences_id', ['options' => $evidences]);?>

 <?= $this->Form->control('cursos', ['options' => $courses,'empty' => 'Select Curso','id' => 'courses']); ?>

Я ожидаю, что заполнить список 'доказательств', когда я выбрал список 'curso'

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