Как я могу использовать ajax в cakephp 3 в динамическом комбинированном списке? - PullRequest
0 голосов
/ 02 октября 2018

У меня ошибка Не удалось загрузить ресурс: сервер ответил с состоянием 403 (Запрещено), ошибка 403, я не загружаю значения, которые запрос выводит меня в поле со списком.

Code In Controller.

public function getFunciones() {
        $aux = $this->getRequest()->getSession()->read('user.idSyA');
        $bd = substr($aux, 0, 5);
        //$bd = 'A0001';
        $conexion = mysqli_connect('secret', 'secret', 'secret');
        mysqli_select_db($conexion, $bd);
        $Sql = "select $bd.funciones.Funcion "
                . "from $bd.funciones "
                . "where $bd.funciones.Entidad = '$value' "
                . "order by $bd.funciones.Funcion";
        $result = mysqli_query($conexion, $Sql);
        $funciones = '<option value="0">Elija una opcion</option>';
        while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
            $funciones .= "<option value='$row[Funcion]'>$row[Funcion]</option>";
        }
        $this->set('funciones', $funciones);
    }

public function getlistaMod() {
        $aux = $this->getRequest()->getSession()->read('user.idSyA');
        $bd = substr($aux, 0, 5);
        //$bd = 'A0001';
        $conexion = mysqli_connect('secret', 'secret', 'secret');
        mysqli_select_db($conexion, $bd);
        $Sql = "select $bd.funciones.Entidad from $bd.funciones group by $bd.funciones.Entidad";
        $result = mysqli_query($conexion, $Sql);
        $listas = '<option value="0">Elija una opcion</option>';
        while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
            $listas .= "<option value='$row[Entidad]'>$row[Entidad]</option>";
        }

        $this->set('listas', $listas);
       funciones.Entidad
    }

код в файле js

$(document).ready(function () {
    $.ajax({
        type: 'POST',
        //url: 'getlistaMod'
        url: '<?php echo $this->Html->url(array('controller' => 'configuraciones', 'action' => 'getlistaMod')); ?>'
        //dataType: 'json',
        //contentType: 'json'
    })
            .done(function (listaMod) {
                //console.log(response.lista);
                $('#listaMod').html(listaMod)
            })
            .fail(function () {
                alert('Hubo un error al cargar los Modulos')
            })

    $('#listaMod').on('change', function () {
        var id = $('#listaMod').val()
        $.ajax({
            type: 'POST',
            //url: 'getFunciones',
            url: '<?php echo $this->Html->url(array('controller' => 'configuraciones', 'action' => 'getFunciones')); ?>',
            //dataType: 'json',
            //contentType: 'json',
            data: {'id': id}
        })
                .done(function (listaMod) {
                    //console.log(response.funciones);
                    $('#listaFun').html(listaMod)
                })
                .fail(function () {
                    alert('Hubo un error al cargar las Funciones')
                })
    })

    $('#enviar').on('click', function () {
        var resultado = 'El modulo : ' + $('#listaMod').val() +
                '<br>La Funcion: ' + $('#listaFun').val()
        $('#resultado').html(resultado)
    })

})

код в View .ctp

<h1 align="center"> Registrar Preguntas</h1>
<div class="container" >
    <?= $this->Form->create($reg) ?>
        <p>Modulo</p>
        <select id="listaModulo" name="listaModulo" class="form-control">
        </select>
    </div>
    <div class="form-group col-sm-8">
        <p>Modulo</p>
        <select id="listaFun" name="listaFun" class="form-control">
        </select>
    </div>

    <div class="form-group col-sm-8" align="center">
        <?php
        //echo $this->Form->button('Agregar', ['class' => 'btn btn-primary']); 
        ?>
        <p><br><button id="enviar" type="submit" class="btn btn-default">Enviar</button>
        </p>
    </div>
    <br>
    <div>
        <br>
        <p><b>Resultado de la Consulta: </b></p><p id="resultado"></p> 
    </div>
    <?= $this->Form->end() ?>
</div>
<!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">
</script>-->
<?= $this->Html->script('cargarModulos') ?>

Я получаю эту ошибкуи я не загружаю опции, я новичок в cakephp, пожалуйста, подождите вашей помощи.

...