2012-09-05 11 views
6

Cuando intento para recuperar datos de mi base de datos a la mesa, me sale este error:Solicitados parámetro desconocido '1' del origen de datos para la fila 0 en tablas de datos

DataTables warning (table id = 'student_table'): Requested unknown 
parameter '1' from the data source for row 0 

A continuación se muestra el código JavaScript que he usado

<script type="text/javascript" charset="utf-8"> 
$(document).ready(function() { 
    $('#student_table').dataTable({ 
     "bProcessing": true, 
     "bServerSide": true, 
     "sServerMethod": "POST", 
     "sAjaxSource": "<?php echo base_url()?>index.php/data/all" 
    });    
}); 
</script> 

Los datos JSON recuperarán:

{"sEcho":0,"iTotalRecords":3, 
"iTotalDisplayRecords":3, 
"aaData":[["85","t1","1D"],["74","test475","4A"], 
["777","maiz","5"]],"sColumns":"id,name,class"} 

A continuación es mi mesa:

<table class="datatable tables" id="student_table"> 
    <thead> 
     <tr> 
      <th>ID</th> 
      <th>Name</th> 
      <th>Class</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td class="dataTables_empty">Loading data from server</td> 
     </tr> 
    </tbody> 
</table> 

código PHP (tablas de datos encendidos)

$this->load->library('datatables'); 

$this->datatables->select('admission,name,class'); 
$this->datatables->from('students'); 
echo $this->datatables->generate(); 

estoy usando CodeIgniter y tablas de datos.

¿Por qué me sale ese error y cómo recuperar los datos en la tabla?

Respuesta

1

Está utilizando el método POST para obtener los datos. Si sigue php el ejemplo que se proporciona con datatables, se utiliza el método GET. Supongo que cuando usa ordenar o buscar todas las solicitudes son GET.

+0

intenté GET y POST, pero me sale el mismo error. – LiveEn

+0

El error debe estar en la parte php, ¿puedes mostrar eso? – JvdBerg

+0

he agregado el código php (tablas de datos encendidas) a la publicación principal. – LiveEn

0

par de ideas que podrían ayudar ...

  1. Asegúrese de que su respuesta del servidor se JSON correctamente formateado, con cabecera correcta. p.ej. https://stackoverflow.com/a/4064468/661584 no estoy seguro acerca del encendedor/php, pero puede ser un problema.

  2. No está seguro del parámetro sColumns es correcta por sí solo, creo que es de reordenamiento de cols en el cliente ... y sólo se utiliza con sName ver http://datatables.net/usage/columns#sName y http://datatables.net/usage/server-side

por lo que podría lo estropee.

  1. Si su algo más, tal vez mira respuesta here ... podría ser un poco de ayuda.

Buena suerte

14

También tuve el mismo problema. La cuestión está aquí:

<tr> 
      <td class="dataTables_empty">Loading data from server</td> 
</tr> 

tiene tres <TH> pero sólo uno <td> la adición de dos más <td> fijará su error. Una cosa más, si no hay datos disponibles, se mostrará el mensaje de forma automática no es necesario visualizar el message.In este caso se puede quitar esto, ya que se realiza de forma automática:

<tr> 
      <td class="dataTables_empty">Loading data from server</td> 
</tr> 

Con el fin de personalizar el mensaje pase esto como una opción "sEmptyTable": "Loading data from server"

$('.datatable).dataTable({ 
    "bFilter": false, 
    "bPaginate": false, 
    "bLengthChange": false, 
    "bInfo": false, 
    "oLanguage": { 
    "sEmptyTable": '', 
    "sInfoEmpty": '' 
    }, 
    "sEmptyTable": "Loading data from server" 
}); 
+0

Te amo. Solo pasé una eternidad tratando de resolver esto. – Chris

+0

Mi código usa colspans, ¡con suerte los colspans no causan esto aunque sean correctos! – Andy

0

Estábamos teniendo problemas similares ...

Pero, antes de volverse loco, verifique los datos en las tablas. En nuestro caso, nuestros datos tenían hipervínculos y comillas usadas en los datos que poblaron la tabla: esas comillas se extraían de las comillas cuando se cargaban los datos de un archivo CSV. La historia corta es que IE no pudo manejarlo, pero Chrome y Firefox lo ignoraron.

Cuestiones relacionadas