He estado luchando con eso durante una semana... Quiero usar Ajax en tablas de datos para pasar algunos parámetros a mi archivo PHP para la búsqueda del lado del servidor. Pero parece que mi archivo PHP no tiene nada. Pero la tabla de datos funciona bien y la tabla puede regresar del procesamiento del lado del servidor y mostrarse en la página html correctamente. Sin embargo, var_dump ($_POST['species']) devuelve nulo.
$(document).ready(function() { console.log(species); $("#table").DataTable({ "destroy": true, "serverSide": true, "processing": true, "paging": false, "searching": false, columns: [{ data: "dRid" }, { data: "chromosome" }, { data: "position" } ], ajax: { type: "POST", data: { "species": species }, url: "./php/search_test.php" } }); });
<div class="container text-center" id="tablecontainer" name="tablecontainer"> <table id="table" class="display nowrap row-border strip p-2" cellspacing="0" width="100%"> <thead class="thead-dark"> <tr> <th> <center>directRMDB ID</center> </th> <th> <center>Chromosome</center> </th> <th> <center>Position</center> </th> </tr> </thead> </table> </div>
'''php
ini_set ('memory_limit', '2048M'); $sql_details = array( 'host' => 'localhost', 'user' => 'root', 'pass' => '', 'db' => 'xxxxx' ); // DB table to use $table = 'homo_sapiens';
//si pruebo esto aquí: $species=$_POST["species"]; echo $especies; //devuelve: Advertencia: clave de matriz no definida "especies".
// Table's primary key $primaryKey = 'dRid'; // column $columns = array( array( 'db' => 'dRid', 'dt' => 'dRid' ), array( 'db' => 'chr', 'dt' => 'chromosome' ), array( 'db' => 'pos', 'dt' => 'position' ), ); // Include SQL query processing class require( 'ssp.class.php' ); echo json_encode( SSP::complex( $_POST, $sql_details, $table, $primaryKey,$columns) );
Could someone help me with it? Thanks.
Prueba esto. Reemplace $_POST por $matriz
$matriz = json_decode(file_get_contents('php://input'), true); imprimir_r($matriz);