Как исправить список с помощью 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'