Foros del Web » Programando para Internet » Jquery »

Generar descarga de archivo

Estas en el tema de Generar descarga de archivo en el foro de Jquery en Foros del Web. Hola Amigos!!! estoy intentando hacer que jquery descargue un archivo o mejor dicho que me abra el cuadro de dialogo , estoy haciendo lo siguiente ...
  #1 (permalink)  
Antiguo 29/06/2012, 13:29
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 7 meses
Puntos: 4
Generar descarga de archivo

Hola Amigos!!!
estoy intentando hacer que jquery descargue un archivo o mejor dicho que me abra el cuadro de dialogo , estoy haciendo lo siguiente
tengo una pagina en php que genera un respaldo de la bade de datos (.zip)
si ejecuto esa pagina desde el navegador hace todo perfecto , mi problema es que la necesito ejecutar desde ajax
Código Javascript:
Ver original
  1. $.ajax({
  2.         type:'POST',
  3.         url:'mail_back.php',
  4.         data:'bot:'+bot,
  5.     success:function(retorno)
  6.         {
  7.         // no se como abrir el retorno
  8.       }
  9.         })
pero no se como abrir el cuadro de dialogo para la descarga al hacer success

espero se haya entendido
saludos y muchas gracias!!!
  #2 (permalink)  
Antiguo 02/07/2012, 07:47
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Generar descarga de archivo

no puedes hacerlo con ajax, desde php añade las cabeceras para un force download y se mostrará la ventana de descarga con cualquier link o petición GET, hasta por POST

repito: NO puedes usar ajax para ello, porque el binario lo obtendría javascript y éste NO puede escribir archivos.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 02/07/2012, 12:34
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 7 meses
Puntos: 4
Respuesta: Generar descarga de archivo

Muchas gracias por responder!!!
lo solucione de esta manera
dentro de esa pagina coloque un iframe oculto y mediante el evento click inicio mail_back.php dentro del iframe
Código HTML:
Ver original
  1. <iframe id="iframeto" src="" style="display:none; visibility:hidden;"></iframe>
Código Javascript:
Ver original
  1. $("#iframeto").attr("src","mail_back.php?ver1=2");
asi me funciono perfectamente
Saludos y gracias nuevamente
  #4 (permalink)  
Antiguo 23/11/2012, 12:29
 
Fecha de Ingreso: septiembre-2012
Ubicación: Argentina
Mensajes: 144
Antigüedad: 11 años, 8 meses
Puntos: 12
Respuesta: Generar descarga de archivo

Buenas!!

Yo quisiera saber como hago para descargar un archivo Excel que genere con un Script PHP
El ajax solamente me muestra la tabla pero no las opciones para descargar el Archivo aca les paso lo que hago.

Código PHP:
Ver original
  1. $excel="<h1>Lista CIC</h1> <table border='2' cellspacing='0' cellpadding='0'>
  2.         <tr>
  3.         <td>Nro Banco</td>
  4.         <td>Nro Sucursal</td>
  5.          <td>Nro Cuenta</td>
  6.          <td>Fecha de Liquidacion</td>
  7.          <td>Saldo Actual $</td>
  8.          <td>Saldo Actual U$S</td>
  9.          <td>Suma Consumos Pend. de liquidar en $</td>
  10.          <td>Suma Consumos Pend. de liquidar en U$S</td>
  11.          <td>Suma otros Conceptos Pend. de liquidar en $</td>
  12.          <td>Suma otros Conceptos Pend. de liquidar en U$S</td>
  13.          <td>Suma Cuotas Consumos Pend. de liquidar en $</td>
  14.          <td>Suma Cuotas Consumos Pend. de liquidar en U$S</td>
  15.          <td>Suma Cuotas Prest. pend. de liquidar en $</td>
  16.          <td>Suma Ajuste positivo en $</td>
  17.          <td>Suma Ajuste negativo en $</td>
  18.          <td>Suma Ajuste positivo en U$S</td>
  19.          <td>Suma Ajuste negativo en U$S</td>
  20.          <td>Suma de pagos pendientes en $</td>
  21.          <td>Suma de pagos pendientes en U$S</td>
  22.          <td>Deuda Total $</td>
  23.          <td>Deuda Total U$S</td>
  24.          <td>Cotizacion</td>
  25.          </tr>";
  26.  
  27.  
  28. $excel.="<tr><td>".$ban."</td><td>".$suc."</td><td>".$nroruc."</td><td>".$fecha."</td><td>".$datos[0]."</td><td>".$datos[1]."</td><td>".$datos[2]."</td><td>".$datos[3]."</td><td>".$datos[4]."</td><td>".$datos[5]."</td><td>".$datos[6]."</td><td>".$datos[7]."</td><td>".$datos[8]."</td><td>".$datos[9]."</td><td>".$datos[10]."</td><td>".$datos[11]."</td><td>".$datos[12]."</td><td>".$datos[13]."</td><td>".$datos[14]."</td><td>".$datos[15]."</td><td>".$datos[16]."</td><td>".$cot."</td></tr>";

Hago una tabla donde los datos dentro de un while se van acomodando!

Aca va el ajax para que aparesca un Gif y supuestamente descargue el archivo que genere anteriormente

Código Javascript:
Ver original
  1. $(function(){
  2.  
  3.     $('#enviar').click(function(){
  4.        
  5.             $.ajax({
  6.               type: "POST",
  7.               url: "Modelo/Excel.php",
  8.               data: "ruta=" + $('#file1').val(),
  9.               beforeSend:function(){
  10.                   $("#msg").addClass('loading');
  11.               },
  12.               success: function(data){
  13.                   $("#msg").removeClass('loading');
  14.                   //$("#msg").html(data);
  15.                   $("#iframeto").attr("src","Modelo/Excel.php");
  16.               }
  17.             });
  18.     });
  19. });

Bueno espero que puedan ayudarme si necesitan mas info me avisan! Gracias!!

Etiquetas: ajax, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:14.