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">×</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> 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> 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>