Ver Mensaje Individual
  #14 (permalink)  
Antiguo 24/02/2014, 13:25
ocp001a
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: Forzar redirección desde archivo php ejecutado por ajax

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:

www.miweb.com/confirma.php?id=9849849

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');