Foros del Web » Programando para Internet » Jquery »

ir mostrando progreso de operacion + jquery + php

Estas en el tema de ir mostrando progreso de operacion + jquery + php en el foro de Jquery en Foros del Web. hola a todos tengo esto Código: $("#enviar").click(function(){ $.post('php/newsletter.php',{'id': $("#oculto").val()}, function(data){ $("#text").prepend(data); }); return false; }); con la esperanza de que me fuera poniendo todos los ...
  #1 (permalink)  
Antiguo 22/07/2011, 11:27
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
ir mostrando progreso de operacion + jquery + php

hola a todos
tengo esto

Código:
		$("#enviar").click(function(){
			 $.post('php/newsletter.php',{'id': $("#oculto").val()}, function(data){
						$("#text").prepend(data);
				 });
				 return false;
			});
con la esperanza de que me fuera poniendo todos los mensajes a medida que el archivo php los fuera lanzando, pero me los manda todos, y tiene mucha lógica pq me imagino que ejecuta la funcion cuando se dispare el evento success..

mi pregunta es como pudiera ir mostrando los mensajes a medida que se van generando y no todos juntos

este es el archivo php

Código PHP:
<?php
    
echo "init";
    
sleep(2);
    
sleep(1);
    for(
$i=0;$i<=20;$i++)
    {
     echo 
$i;    
    }
    
sleep(2);
    echo 
"fin";
?>
es solo de prueba.. alguna idea ?
__________________
aconcaguaestudio.com

Última edición por iviamontes; 22/07/2011 a las 11:27 Razón: mal cerrada etiqueta
  #2 (permalink)  
Antiguo 22/07/2011, 16:07
Avatar de perryjr  
Fecha de Ingreso: julio-2010
Ubicación: Granada, Spain, Spain
Mensajes: 190
Antigüedad: 13 años, 9 meses
Puntos: 27
Respuesta: ir mostrando progreso de operacion + jquery + php

Hay muchas razones para esto:

1. PHP (el programa que ejecuta tu página en el servidor) retiene las respuestas para darselas en paquetes al servidor.

2. El servidor muchas veces suele enviar «paquetes» de un determinado tamaño, con lo cual espera hasta que se haya alcanzado ese tamaño, o la respuesta se haya terminado para enviarlo. También esperan con objeto de poder comprimir la respuesta completa con "gzip".

3. Puede haber proxies de por medio que retengan la respuesta con el mismo propósito que arriba.

4. Los navegadores a veces no avisan a JavaScript hasta que la respuesta no alcanza un determinado tamaño.

Si todos estos inconvenientes y quirks no son un problema para ti, te aconsejo que eches un vistazo a la función flush():
http://php.net/manual/es/function.flush.php
__________________
I (L) Google
  #3 (permalink)  
Antiguo 23/07/2011, 06:07
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: ir mostrando progreso de operacion + jquery + php

ok, probaré lo que me dices, no tengo proxy, estoy haciendo las pruebas locales todo en la misma pc, pero comentaba que me parecía logico que sucediera lo que me está pasando, pq me imagino que con jquery la function
$.post('url',{param}, funtion(){}), el parametro function se ejectute cuanso se haya disparado el evento success, es decir cuando haya terminado todo el proceso, por eso pensaba que había alguna forma de decirle a jquery que fuera obteniendo los datos,
eso lo puedo hacer con load(), pero no se aplicaría al $.post, sigo buscando y pruebo con la idea que me das, gracias
__________________
aconcaguaestudio.com
  #4 (permalink)  
Antiguo 24/07/2011, 03:55
Avatar de perryjr  
Fecha de Ingreso: julio-2010
Ubicación: Granada, Spain, Spain
Mensajes: 190
Antigüedad: 13 años, 9 meses
Puntos: 27
Respuesta: ir mostrando progreso de operacion + jquery + php

Lo del proxy y todo esto te lo decía por si tenias que poner la web en producción, que contases con esto; hasta el chat de Gmail tiene que hacer tres peticiones distintas a su servidor de prueba para averiguar lo de los proxys, el buffer de las respuestas, etc, y luego ya se conecta al chat.

Definitivamente, prueba la función flush(), y ten en cuenta que quizás antes o después tengas que cambiar alguna configuración del servidor porque te moleste.
__________________
I (L) Google
  #5 (permalink)  
Antiguo 24/07/2011, 05:49
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: ir mostrando progreso de operacion + jquery + php

excelente, gracias amigo
__________________
aconcaguaestudio.com

Etiquetas: ajax
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

SíEste tema le ha gustado a 1 personas




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