Ver Mensaje Individual
  #15 (permalink)  
Antiguo 24/02/2014, 21:05
manuel__7
 
Fecha de Ingreso: abril-2012
Mensajes: 88
Antigüedad: 12 años
Puntos: 1
Respuesta: Forzar redirección desde archivo php ejecutado por ajax

Cita:
Iniciado por ocp001a Ver Mensaje
El problema radica en lo siguiente:

Las redirecciones en php sólo funcionan cuando no se ha mandado nada a pantalla, por ejemplo, imagina un link enviado por email para confirmar un registro:

[url]www.miweb.com/confirma.php?id=9849849[/url]

Código PHP:
Ver original
  1. <?php
  2. //....proceso de confirmacion y validado
  3. if($registro=='valido')
  4.     header("Location: index.php");//redirecciono al usuario al indice, sin haber enviado nada a pantalla previamente
  5. else
  6.     echo "Mensaje de error";

Tu petición ajax se hace cuando la página ya tiene contenido, por tanto la redirección desde php ya no funciona.

Además, no puedes devolver con php un código javascript que se ejecute en automático, lo que devuelvas debe ser previamente interpretado por javascript (cliente)

Entonces, desde php debes devolver o bien un código javacript para que tu procesador de la respuesta ajax la ejecute, o bien, si sabes que php no devolverá más que una url o un error, podrías en tu lado del javascript tener una función que si no tienes error redirija hacia ahí.

Código Javascript:
Ver original
  1. if(respuesta!='0')
  2.      location.href=respuesta;
  3. else
  4.     alert('Mensaje de error');


Entiendo muchas gracias... Ya lo solucione utilizando la respuesta de php directamente en ajax... Saludos...