Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Redireccionar a otra página con AJAX + PHP

Estas en el tema de Redireccionar a otra página con AJAX + PHP en el foro de Frameworks JS en Foros del Web. Bien chavales. A ver, tengo una funcion AJAX que conecta con PHP. El archivo PHP tiene una parte tal que así : Código PHP: if ( ...
  #1 (permalink)  
Antiguo 31/12/2008, 13:12
 
Fecha de Ingreso: mayo-2008
Mensajes: 75
Antigüedad: 16 años, 6 meses
Puntos: 0
Redireccionar a otra página con AJAX + PHP

Bien chavales. A ver, tengo una funcion AJAX que conecta con PHP. El archivo PHP tiene una parte tal que así :
Código PHP:
if ($row["Tipo_usuario"] == "Administrador") echo "Bienvenido "$_SESSION["s_username"header ("Location: forosweb.com"); 
    if (
$row["Tipo_usuario"] == "Medico")echo "Bienvenido "$_SESSION["s_username"]  header ("Location: otrosforosweb.com"); 
Me redirecciona a otra página. El problema es que AJaX no hace esto, lo que hace es cargarme en la misma página, otra página y eso no es lo que quiero. Quiero que me salga la nueva página al completo. ¿Me explico?

¿Hay alguna forma de hacerlo?
  #2 (permalink)  
Antiguo 31/12/2008, 13:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Redireccionar a otra página con AJAX + PHP

Hola matheo,

Lo que tienes que hacer es regresar la dirección a donde vas a redirigir por AJAX y luego usar window.location para cambiar la dirección del browser.

Saludos.
  #3 (permalink)  
Antiguo 01/01/2009, 07:15
 
Fecha de Ingreso: mayo-2008
Mensajes: 75
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Redireccionar a otra página con AJAX + PHP

Es verdad buena idea. Lo que pasa es que hay un problema. Cuando en mi función AJAX recojo mensajes de tipo "error.response" no me llega directamente el "echo" del PHP, sino que me incluye en ese "echo" un monton de cosas más del tipo "Content-html.....". Yo quiero recoger en mi función AJAX solo la frase devuelta por el "echo" del PHP.

¿Es posible?
  #4 (permalink)  
Antiguo 24/08/2010, 17:41
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 10 meses
Puntos: 29
Respuesta: Redireccionar a otra página con AJAX + PHP

Buscando información sobre el tema topé con este post, que aunque viejo, procedo a poner la solución que encontré después de visitar esta entrada.

El tema es poner una etiqueta en tu php. Es decir, si el ajax llama a pagina.php, en ella puede haber una etiqueta del tipo redirect:otrapagina.php . Esto lo podemos detectar con javascript en la respuesta de texto de ajax:

Código Javascript:
Ver original
  1. if (ajax.readyState==4) {
  2.             if(ajax.responseText != "" && ajax.responseText.substring(0, 9) != "redirect:") {
  3.                 document.getElementById(contenedor).innerHTML = ajax.responseText;
  4.             } else if (ajax.responseText.substring(0, 9) == "redirect:" && ajax.responseText != "") {
  5.                     window.location = ajax.responseText.substr(9);
  6.                 }
  7.         }

Espero que le sirva a alguien. Saludos!
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 09:18.