Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] DataTables - Se queda "cargando"

Estas en el tema de DataTables - Se queda "cargando" en el foro de PHP en Foros del Web. Buenas.. Tengo un problema.. Voy a dejar el codigo.. El problema es que cuando no tengo ningun elemento, ahi es el problema.. O sea, el ...
  #1 (permalink)  
Antiguo 23/03/2020, 06:11
 
Fecha de Ingreso: abril-2016
Ubicación: Cordoba
Mensajes: 21
Antigüedad: 4 años
Puntos: 1
Buenas.. Tengo un problema..
Voy a dejar el codigo..
El problema es que cuando no tengo ningun elemento, ahi es el problema.. O sea, el json=null.. Cuando tengo elementos los muestra perfecto..

Donde dice

"lenguage":idiomaEspanol
Voy a dejar ese codigo tambien

Lo veo desde el network en firefox, se queda cargando..
Sin mas, dejo los codigos. Gracias


JAVASCRIPT
Código Javascript:
Ver original
  1. var listar = function(){
  2.                 $("#cuadro2").slideUp("slow");
  3.                 $("#cuadro1").slideDown("slow");
  4.                 var table = $("#tablaCliente").DataTable({
  5.                     "destroy":true,
  6.                     "ajax":{
  7.                         "method":"POST",
  8.                         "url": "listarCliente.php"
  9.                     },
  10.                     //Para que no se ordene
  11.                     "ordering": false,
  12.                     "iDisplayLength": 10,
  13.                     "columns":[
  14.                         {"data":"apellidoCliente"},
  15.                         {"data":"nombreCliente"},
  16.                         {"data":"emailCliente"},
  17.                         {"data":"telefonoCliente"},
  18.                         {"data":"direccionCliente"},
  19.                         {"data":"localidadCliente"},
  20.                         {"defaultContent": "<button type='button' class='editar btn btn-primary'><i class='icon-mode_edit'></i></button> <button type='button' class='eliminar btn btn-danger' data-toggle='modal' data-target='#modalEliminar' ><i class='icon-delete'></i></button>"}
  21.                     ],
  22.                     "language" : idiomaEspanol,
  23.                     "dom" : "Bfrtip",
  24.                     "buttons":[
  25.                         {
  26.                             text: "<i class='fa fa-user-plus'></i>",
  27.                             tittleAttr: "Agregar Cliente",
  28.                             className: 'btn btn-success',
  29.                             "action":function(){
  30.                                 agregarNuevoCliente();
  31.                            
  32.                         }
  33.                     }
  34.                     ]
  35.                 });
  36.                 obtenerDataEditar("#tablaCliente tbody", table);
  37.                 obtenerIdEliminar("#tablaCliente tbody", table);
  38.             }

PHP
Código PHP:
Ver original
  1. <?php
  2.  
  3.     $hostName = "localhost";
  4.     $userName = "root";
  5.     $userPass = "root1234";
  6.     $DBName   = "skabio";
  7.     try{
  8.         $connect = new PDO("mysql:host=$hostName;dbname=$DBName",$userName,$userPass);
  9.     }catch(PDOException $e){
  10.         echo "Connection Fail".$e->getMessage();
  11.     }
  12.  
  13.     $query = "SELECT * FROM cliente WHERE activoCliente=1 ORDER BY idCliente";
  14.     $stmt = $connect->prepare($query);
  15.     $stmt->execute();
  16.    
  17.     if(!$stmt){
  18.         die("ERROR");
  19.     }else{
  20.         while($data = $stmt->fetchAll(PDO::FETCH_ASSOC)){
  21.             $arreglo["data"]= $data;
  22.         }
  23.         echo json_encode($arreglo);
  24.     }
  25.  
  26.  ?>


"lenguage":idiomaEspanol

Código Javascript:
Ver original
  1. var idiomaEspanol = {
  2.                
  3.                 "sProcessing":     "Procesando...",
  4.                 "sLengthMenu":     "Mostrar _MENU_ registros",
  5.                 "sZeroRecords":    "No se encontraron resultados",
  6.                 "sEmptyTable":     "Ningún dato disponible en esta tabla",
  7.                 "sInfo":           "Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros",
  8.                 "sInfoEmpty":      "Mostrando registros del 0 al 0 de un total de 0 registros",
  9.                 "sInfoFiltered":   "(filtrado de un total de _MAX_ registros)",
  10.                 "sInfoPostFix":    "",
  11.                 "sSearch":         "Buscar:",
  12.                 "sUrl":            "",
  13.                 "sInfoThousands":  ",",
  14.                 "sLoadingRecords": "Cargando...",
  15.                 "oPaginate": {
  16.                     "sFirst":    "Primero",
  17.                     "sLast":     "Último",
  18.                     "sNext":     "Siguiente",
  19.                     "sPrevious": "Anterior"
  20.                 },
  21.                
  22.                 "oAria": {
  23.                     "sSortAscending":  ": Activar para ordenar la columna de manera ascendente",
  24.                     "sSortDescending": ": Activar para ordenar la columna de manera descendente"
  25.                 }
  26.             }

Queria agregar que..
La traduccion al español es perfecta..

Solo que no me toma la lista como vacia..
Dice cargando y nada mas..

En network aparece en response "null"..
Y con ello deberia mostrar el msj que dice de EmptyTable..

Eso es lo raro..

Si alguien me puede dar una mano seria espectacular.. Muchas gracias!. Saludos..

Última edición por Triby; 23/03/2020 a las 15:50
  #2 (permalink)  
Antiguo 23/03/2020, 15:56
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.032
Antigüedad: 11 años, 7 meses
Puntos: 2206
Respuesta: DataTables - Se queda "cargando"

3 Cosas:

1. Si no hay respuestas puedes editar tu mensaje en lugar de agregar otro.

2. Desconozco cómo funciona DataTables, pero imagino que deberá tener opción para agregar funciones de éxito (success) y error, de forma que puedas analizar qué está pasando.

3. Deberías ser más específico en cuanto al NULL que obtienes en la pestaña de Red, si te refieres a que no pudo abrir la URL o eso fue lo que devolvió PHP, que, por cierto... dónde defines $arreglo? y, de paso, en caso de encontrar algo, siempre devolverá una sola fila, porque en cada iteración sobreescribes $arreglo['data']
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 23/03/2020, 19:34
 
Fecha de Ingreso: abril-2016
Ubicación: Cordoba
Mensajes: 21
Antigüedad: 4 años
Puntos: 1
De acuerdo Respuesta: DataTables - Se queda "cargando"

Triby, muchas gracias por responder.. Era un error simple.. Estaba usando mal la funcion.. Es cierto que la va sobreescribiendo.. Muchisimas gracias..
Cita:
3. Deberías ser más específico en cuanto al NULL que obtienes en la pestaña de Red, si te refieres a que no pudo abrir la URL o eso fue lo que devolvió PHP, que, por cierto... dónde defines $arreglo? y, de paso, en caso de encontrar algo, siempre devolverá una sola fila, porque en cada iteración sobreescribes $arreglo['data']
Dejo la solucion..

Código PHP:
Ver original
  1. if(!$stmt){
  2.         die("ERROR");
  3.     }else{
  4.        
  5.         $data = $stmt->fetchAll(PDO::FETCH_ASSOC);
  6.         $arreglo["data"]= $data;
  7.        
  8.         echo json_encode($arreglo);
  9.     }



La zona horaria es GMT -6. Ahora son las 10:59.