AJAX - Ver ejecución del php llamado desde ajax

 
Vista:
Imágen de perfil de Mk

Ver ejecución del php llamado desde ajax

Publicado por Mk (6 intervenciones) el 17/01/2015 12:52:23
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. ¿Alguna idea?

Y ya que estamos tengo otra duda sobre el ajax.
Tengo un botón que ejecutaun ajax. Cuando este llega a successful, ejecuta otro ajax. El problema que estoy viendo es que le tengo que dar 2 veces al botón para que haga las 2 ejecuciones (ejecute los 2 ajax) ¿por qué pasa esto?

Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Ver ejecución del php llamado desde ajax

Publicado por xve (222 intervenciones) el 17/01/2015 23:01:55
Hola Mk, en la consola del navegador, tienes que ver todo lo que devuelve tu código php... Si utilizas Chrome, con F12 te aparecerá la consola, seleccionas "red", y ahí veras todo lo que devuelve cualquier petición.

Sobre tu segunda pregunta, no debería de ser así, se tendrían que ejecutar las dos...
Nos puedes mostrar el código que utilizas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mk

Ver ejecución del php llamado desde ajax

Publicado por Mk (6 intervenciones) el 17/01/2015 23:26:17
Hola gracias por tu contestación. A la primera pregunta, necesitaría alguna manera de mostrarlo que fuera dentro del programa, es decir que cualquier usuario que lo usara, le apareciera una ventanita con lo que se va imprimiendo sin tener que tocar nada.

Y para la segunda pregunta, aquí está el código (he eliminado código innecesario para no llenar todo esto)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<script>
 
function cont_search(info){
 
	$(document).on('submit','form',function(e){
		e.preventDefault();
		$.ajax({
			type: 'POST',
			data: info,
			url: 'archivo2.php',
			success: function (result) {
				window.location.href = "report.php";
			},
			error: function () {
				alert("Error");
			},
		});
		return false;
	});
 
}
 
 
function ini(){
 
	$(document).on('submit','form',function(e){
		e.preventDefault();
 
		var FormData = $(this).serialize();
		$.ajax({
			type: 'POST',
			data: FormData,
			url: 'archivo1.php',
			success: function (result) {
					cont_search(result);
			},
			error: function () {
				alert("Error");
			},
		});
		return false;
	});
}
</script>
 
<form id="form1" method="post" onsubmit="ini()>
	<input type="hidden" name="data" value="new_search">
   <div class="submit">
	  <input type="submit" value="New Search" >
   </div>
   <div class="clear"> </div>
</form>

El botón del formulario, al darle, se llama a la función ini(), si esta es succesfull llama a cont:search() pero parece ser que se queda pillado en la primera, hasta que no le doy una segunda vez, y en el php que llama no hay nada que lo cuelgue, porque funciona bien ese código por separado.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Ver ejecución del php llamado desde ajax

Publicado por xve (222 intervenciones) el 18/01/2015 20:09:19
Hola Mk, creo que esto lo tienes mal...

No deberías de poner un evento dentro de una función, para tu código, creo que no tienes ningún sentido... para como tu lo quieres hacer, creo que tienes que quitar los eventos...

Así lo he probado y me ha funcionado (yo dispongo de los archivo x.php y x2.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="utf-8">
    <script type="text/javascript" src="jquery-1.11.1.min.js"></script>
  </head>
  <body>
<script>
 
function cont_search(info){
    $.ajax({
        type: 'POST',
        data: info,
        url: 'x2.php',
        success: function (result) {
            window.location.href = "report.php";
        },
        error: function () {
            alert("Error2");
        },
    });
    return false;
}
 
function ini(e){
    var FormData = $(e).serialize();
    $.ajax({
        type: 'POST',
        data: FormData,
        url: 'x.php',
        success: function (result) {
            cont_search({"a":10});
        },
        error: function () {
            alert("Error1");
        },
    });
    return false;
}
</script>
 
<form id="form1" method="post" onsubmit="return ini(this)">
   <input type="hidden" name="data" value="new_search">
   <div class="submit">
      <input type="submit" value="New Search" >
   </div>
   <div class="clear"> </div>
</form>
  </body>
</html>

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mk

Ver ejecución del php llamado desde ajax

Publicado por Mk (6 intervenciones) el 19/01/2015 20:00:55
Hola, he probado tu código y efectivamente era lo que comentabas, aunque creo que la causa era el evento que había en el segundo ajax que hacia que no funcionara correctamente, el primero no afectaba.

Así que gracias por tu ayuda.
Para la otra pregunta se os ocurre algo aunque sea muy chapuza? La idea es ver lo que imprime el php que llama el ajax sin que el usuario no tenga que hacer nada, es decir, que le salga una ventanita con lo que se imprime. Hay alguna manera de hacer eso?

Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar