Tengo una tabla HTML muy básica, los datos son de la base de datos. Ahora configuré un selector y, tan pronto como seleccioné cualquiera de las opciones, una solicitud de AJAX para obtener datos específicos para una ubicación seleccionada específicamente. (Para hacerlo más fácil, mi consulta solo busca LocationId=1001 como ejemplo). Ahora quiero devolver los datos y actualizar DataTable, pero desafortunadamente, los datos se devuelven y se muestran en la tabla, pero otras funciones de DataTable no funcionan. Como la paginación, la búsqueda y el número de registros.
código de página PHP
$LocId = '1001'; $sql_Select = "SELECT tbl_employee.EmpId,tbl_employee.FirstName,tbl_employee.LastName,tbl_section.SectionNameEn,tbl_section.SectionNameAr FROM `tbl_employee`,`tbl_section` WHERE tbl_employee.SecId=tbl_section.SecId and tbl_employee.Status='Active' and LocId = '$LocId'"; $result = mysqli_query($conn, $sql_Select); while($row = $result->fetch_assoc()) { $rows[] = $row; } $msg = ["data" => $rows]; echo json_encode($msg);
Función para llamadas Ajax y registros de retorno para ver en DataTable
function GetEmployee(){ var LocId = $('#location').val(); $('#basic-datatablee').DataTable({ "destroy": true, "processing": true, "serverSide": true, "serverMethod": "post", "ajax": { "url": "ajaxpages/get_employee.php", "data": {LocId:LocId} }, "columns": [ {"data": "EmpId"}, {"data": "FirstName"}, {"data": "LastName"}, {"data": "SectionNameEn"}, {"data": "SectionNameAr"}, ], language: { searchPlaceholder: 'Search...', sSearch: '', } }); };
Necesito quitar
"serverSide": true, "servermethod": "post",
Agregue este tipo de llamada ajax
"type": "POST",
Esto solucionará el problema