Foros del Web » Programando para Internet » PHP »

Mostrar lo que imprime el php desde ajax

Estas en el tema de Mostrar lo que imprime el php desde ajax en el foro de PHP en Foros del Web. Hola, Tengo una función ajax que llama a un archivo php, que ejecuta un código. Cuando termina la ejecución de este php, va al successful ...
  #1 (permalink)  
Antiguo 24/01/2015, 08:29
Avatar de mk14  
Fecha de Ingreso: agosto-2012
Mensajes: 18
Antigüedad: 11 años, 7 meses
Puntos: 0
Mostrar lo que imprime el php desde ajax

Hola, Tengo una función ajax que llama a un archivo php, que ejecuta un código. Cuando termina la ejecución de este php, va al successful bien. He puesto que el php vaya imprimiendo cosas pero lógicamente no se ve nada. ¿Cómo puedo hacer que se muestre lo que va imprimiendo el php durante la ejecución? Quiero que sea durante la ejecución, no me sirve que lo imprima todo al final cuando termine.
La idea es que aparezca como una ventanita emergente donde se vaya viendo lo que se imprime. Tiene que aparecer sin que el usuario haga nada. No me vale la consola del navegador.
¿Alguna idea?
Saludos y gracias
  #2 (permalink)  
Antiguo 24/01/2015, 11:31
Avatar de jsstoni  
Fecha de Ingreso: enero-2015
Ubicación: Maracaibo
Mensajes: 82
Antigüedad: 9 años, 2 meses
Puntos: 4
Respuesta: Mostrar lo que imprime el php desde ajax

Quieres imprimir los resultados en tiempo real ?
__________________
Desarrollo web Front End Realtime NodeJs
  #3 (permalink)  
Antiguo 24/01/2015, 12:25
Avatar de mk14  
Fecha de Ingreso: agosto-2012
Mensajes: 18
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Mostrar lo que imprime el php desde ajax

Si, porque el php está mucho rato ejecutando. Si no puede ser en tiempo real real, un poco diferido, pero no me sirve que se imprima todo al final de la ejecución.
¿Es posible?
  #4 (permalink)  
Antiguo 24/01/2015, 13:21
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Mostrar lo que imprime el php desde ajax

Te conviene usar Websockets.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 24/01/2015, 13:53
Avatar de jsstoni  
Fecha de Ingreso: enero-2015
Ubicación: Maracaibo
Mensajes: 82
Antigüedad: 9 años, 2 meses
Puntos: 4
Respuesta: Mostrar lo que imprime el php desde ajax

mk14 no logro entender por que tu tiempo de ejecucion tarda tanto en terminar de cargar.?
__________________
Desarrollo web Front End Realtime NodeJs
  #6 (permalink)  
Antiguo 24/01/2015, 14:07
Avatar de mk14  
Fecha de Ingreso: agosto-2012
Mensajes: 18
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Mostrar lo que imprime el php desde ajax

Los websockets son demasiado complejos para lo que quiero hacer. ¿Alguna manera más simple?
  #7 (permalink)  
Antiguo 24/01/2015, 14:23
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Mostrar lo que imprime el php desde ajax

Podrías utilizar un temporizador, lo malo está en que cuando realizas constantes peticiones asíncronas, se satura y se ralentiza. Por eso, hoy por hoy, la mejor opción es utilizar Websockets para lo que buscas hacer.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #8 (permalink)  
Antiguo 24/01/2015, 14:48
Avatar de mk14  
Fecha de Ingreso: agosto-2012
Mensajes: 18
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Mostrar lo que imprime el php desde ajax

jsstoni tarda tanto porque tiene que ser así, ese php contiene un for que quiero que esté ejecutando bastante rato y lo que quiero hacer sería como hacen las barras de progresión, mostrar cuanto queda pero con lo que imprime el php.
Y otra idea, que tal si en lugar de llamar el fichero por ajax, lo llamo por el form action="fichero.php"? y que dentro de ese php haya código html? se iria imprimiendo progresivamente en ese html?
  #9 (permalink)  
Antiguo 24/01/2015, 15:06
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 9 meses
Puntos: 641
Respuesta: Mostrar lo que imprime el php desde ajax

Cita:
Iniciado por mk14 Ver Mensaje
Y otra idea, que tal si en lugar de llamar el fichero por ajax, lo llamo por el form action="fichero.php"? y que dentro de ese php haya código html? se iria imprimiendo progresivamente en ese html?
NO.
  #10 (permalink)  
Antiguo 25/01/2015, 16:15
 
Fecha de Ingreso: abril-2013
Ubicación: Envigado
Mensajes: 18
Antigüedad: 11 años
Puntos: 3
Respuesta: Mostrar lo que imprime el php desde ajax

Me parece que, como te dijeron arriba lo mejor es usar websockets para este caso sin embargo se me viene a la mente lo siguiente.


1. llamar al archivo php.
2. Cada que el archivo php termine un proceso que desees imprimir, guarde el resultado en un archivo txt
3. Programar un evento en tu portal que cada cierto tiempo lea el archivo y obtenga la ultima linea y traerla.
4. Por ultimo imprimir esa linea.

De esta manera podrás imprimir con un intervalo X el proceso actual en el que se encuentra tu archivo php, con ajax no te va a servir ya que una vez que el archivo php retorna un resultado la petición ajax caduca y no muestra mas.


Código:
Por lejos es mucho mejor aprender de sockets que tratar de implementar esta solución, pero ya dijiste que quieres hacer algo rápido y fácil de hacer.
  #11 (permalink)  
Antiguo 19/06/2020, 10:30
Avatar de mk14  
Fecha de Ingreso: agosto-2012
Mensajes: 18
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Mostrar lo que imprime el php desde ajax

Gracias a todos por vuestras respuestas, supongo que ya lo solucioné con alguno de vuestros consejos pero como estoy en tantos proyectos a la vez se me pasa contestar a veces.

Igualmente agradezco vuestro tiempo (más vale tarde que nunca)

Etiquetas: ajax, emergente, ventana
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 21:33.