Hola, estoy intentando exportar una consulta sql que genero desde php con jquery, pero tengo problemas con los headers.
La forma en la que estoy intentando hacerlo es la siguiente.
Código PHP:
Código PHP:
public function csv($query,$tabla){
$resultado=$this->db->ejecutarQuery($query);
$fields=$this->db->QueryArray("SHOW COLUMNS FROM ".$tabla."");
$out = '';
// Cuento las columnas
$columns = mysql_num_fields($resultado);
// Put the name of all fields
for ($i = 0; $i < $columns; $i++) {
$l=$fields["$i"];
$out .= '"'.$l.'",';
}
$out .="\n";
// Add all values in the table
while ($l = mysql_fetch_array($resultado)) {
for ($i = 0; $i < $columns; $i++) {
$out .='"'.$l["$i"].'",';
}
$out .="\n";
}
header('Content-Type: text/html; charset=iso-8859-1');
header("Content-type: text/x-csv");
header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=resultado.csv");
return $out;
exit;
} // end function
Esto funciona bien.. pero mi intención es utilizar esta función para implementarla de esta forma.
Código js:
Ver originalfunction Exportar() {
$.ajax({
type: "POST",
dataType: "html",
url: "admin.php?accion=csv",
beforeSend: function(objeto) {$("#registros").html(loading);},
success: function(html) {
html.setRequestHeader("Content-Disposition: attachment; filename=resultado.csv");
$("#registros").html(data);
}
});
}
Esto no funciona pero lo pongo para que vean hasta adonde llegue.
Estuve leyendo que la cabecera tendría que estar dentro del success pero no entiendo como hacerlo.
Gracias por adelantado.