Ajax does not connect to the php driver

0

I have a modal, in which I want to record data of a user. This file is called personal.php , which has its js called personal.js and it must be connected to a driver file, called personal.ajax.controller. php and does not send any parameters, here I show you the code

// Este es el fichero JS (personal.js)
function crearPersonal(){
    var dni = $('#dni').val();
    var nombre = $('#nombre').val();
    var telefono = $('#telefono').val();
    var direccion = $('#direccion').val();    
    
    //HASTA ESTE ALERT, SÍ SE PUEDE MOSTRAR LOS DATOS QUE ENVIARÉ
    
    alert("datos:"+dni+nombre+telefono+direccion);
    
    //acá encapsulo los datos en un json
    var datos = {
        "dni" : dni,
        "nombre" : nombre,
        "telefono" : telefono,
        "direccion" : direccion
    };
    
    //acá suóngo que es el error
    $.ajax({
        data: datos, 
        method: "POST",
        url: "AjaxControladores/personal.ajax.controlador.php",
        dataType: "json",
        success: function(respuesta){
            alert("hola!");
        }
    });    
}
/*Este es el controlador personal.ajax.controlador.php */
<?php
    
    class PersonalAjax{
        public $dni;
        public $nombre;
        public $telefono;
        public $direccion;
        
        public function crearPersonal(){
            $dni = $this->dni;
            $nombre = $this->nombre;
            $telefono = $this->telefono;
            $direccion = $this->direccion;
            
            /*ACÁ INTENTO QUE ME MUESTRE EN LA CONSOLA LOS DATOS RECIBIDOS, PERO NO MUESTRA NADA*/
            
            echo "<script>alert('Los datos son:'".$dni, $nombre, $telefono, $direccion.");</script>" ;
             
             /*ACÁ LOS MANDO AL MODELO*/
            $respuesta = PersonalModelo::mdlCrearPersonal($dni,$nombre,$telefono,$direccion);
            
            if($respuesta == "ok"){
                echo '<script>
                        swal({
                        type: "success",
                        title: "¡El usuario ha sido guardado correctamente!",
                        showConfirmButton: false                                 
                        }).then(function(result){
                            if(result.value){
                                    window.location = "personal";
                            }
                        });
                     </script>';
            }else{
                echo "ERROR AL REGISTRAR PERSONAL";
            }            
        }
    }
  
    /*ACÁ verifico los datos recibidos del ajax*/
    
    if(isset($_POST["dni"])){
        $nuevoPersonal = new PersonalAjax();      
        $nuevoPersonal->dni = $_POST["dni"];
        $nuevoPersonal->nombre = $_POST["nombre"];
        $nuevoPersonal->telefono = $_POST["telefono"];
        $nuevoPersonal->direccion = $_POST["direccion"];
        $nuevoPersonal->crearPersonal();
    }
?>
<!--Este es el fichero de la vista personal.php-->

<!--ESTE ES MI MODAL-->
<div id="modalAgregarPersonal" class="modal fade" role="dialog">  
    <div class="modal-dialog">
        <div class="modal-content">
            <form role="form" method="POST">
                <!--=====================================
                CABEZA DEL MODAL
                ======================================-->
                <div class="modal-header" style="background:#3c8dbc; color:white">
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
                    <h4 class="modal-title">Agregar personal</h4>
                </div>
                <!--=====================================
                CUERPO DEL MODAL
                ======================================-->
                <div class="modal-body">
                    <div class="box-body">
                        <div class="form-group">
                              <div class="input-group">
                                  <span class="input-group-addon"><i class="fa fa-user"></i></span>
                                  <input id="dni" type="text" class="form-control input-lg" name="txt_dni" placeholder="Ingresar DNI" >
                              </div>
                        </div>
                        <div class="form-group">
                            <div class="input-group">
                                <span class="input-group-addon"><i class="fa fa-user"></i></span>
                                <input id="nombre" type="text" class="form-control input-lg" name="txt_nombre" placeholder="Ingresar nombre completo" >
                            </div>
                        </div>
                        <!-- ENTRADA PARA SELECCIONAR SU PERFIL -->
                        <div class="form-group">
                            <div class="input-group">
                                <span class="input-group-addon"><i class="fa fa-users"></i></span>
                                <select class="form-control input-lg" name="sel_cargo">
                                    <option value="">Seleccione cargo</option>
                                    <?php                                           
                                        $respuesta = PersonalControlador::ctrMostrarCargo();
                                        foreach($respuesta as $key => $value){
                                            echo '<option value="'.$value["id_perfil"].'">'.$value["nombre_perfil"].'</option>';
                                        }
                                    ?>
                                </select>
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="input-group">
                                <span class="input-group-addon"><i class="fa fa-users"></i></span>
                                <select class="form-control input-lg" name="sel_cargo">
                                    <option value="">Seleccione Área</option>
                                    <?php                                           
                                        $respuesta = PersonalControlador::ctrMostrarArea();
                                        foreach($respuesta as $key => $value){
                                            echo '<option value="'.$value["id_area"].'">'.$value["nombre_area"].'</option>';
                                        }
                                    ?>
                                </select>
                            </div>
                        </div>
                        <div class="form-group row">
                            <div class="col-md-6">
                                <div class="input-group">
                                    <span class="input-group-addon"><i class="fa fa-clock-o"></i>&nbsp;&nbsp;Entrada</span>
                                    <input type="time" class="form-control input-lg" name="txt_hentrada">
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="input-group">
                                    <span class="input-group-addon"><i class="fa fa-clock-o"></i>&nbsp;&nbsp;Salida</span>
                                    <input type="time" class="form-control input-lg" name="txt_hsalida">
                                </div>
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="input-group">
                                <span class="input-group-addon"><i class="fa fa-phone"></i></span>
                                <input id="telefono" type="text" class="form-control input-lg" name="txt_telefono" placeholder="Ingresar teléfono">
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="input-group">
                                <span class="input-group-addon"><i class="fa fa-street-view"></i></span>
                                <input id="direccion" type="text" class="form-control input-lg" name="txt_direccion" placeholder="Dirección" >
                            </div>
                        </div>
                    </div>
                </div>
                <!--=====================================
                PIE DEL MODAL
                ======================================-->
                <div class="modal-footer">
                    <button type="button" class="btn btn-default pull-left" data-dismiss="modal">Salir</button>
                    <button type="submit" class="btn btn-primary" onclick="crearPersonal()">Guardar</button>
                </div>
            </form>
        </div>
    </div>
</div>
    
asked by Anderson Blas Huamán 04.11.2018 в 20:36
source

0 answers