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

AYUDA!!!! No funciona header:Location !!!!

Estas en el tema de AYUDA!!!! No funciona header:Location !!!! en el foro de Frameworks JS en Foros del Web. Hola a todos. Me estoy volviendo loco pq no se que puedo hacer. Estoy usando Ajax para la validacion de los usuarios con su email ...
  #1 (permalink)  
Antiguo 03/10/2009, 08:15
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 14 años, 7 meses
Puntos: 8
AYUDA!!!! No funciona header:Location !!!!

Hola a todos.
Me estoy volviendo loco pq no se que puedo hacer.
Estoy usando Ajax para la validacion de los usuarios con su email y contraseña.
Tengo un formulario que se lo envio al server de php mediante Ajax y si la validacion fue errónea pues actualizo el contenido de una capa llamada "capaMsjAjax" para mostrar el mensaje erroneo.
Pero si la validacion fue OK quiero que en lugar de actualizar el contenido HTML de la capa haga una redireccion a otra pagina. TAN SIMPLE COMO ESO.

Pues bien, lo hace todo bien excepto que en lugar de redireccionarme a esa nueva pagina lo que hace es añadirme dicha pagina a continuacion de la actual, es decir, que en la pagina actual se carga debajo la nueva pagina dando como resultado las 2 paginas unidas en el mismo document. Es como si hubiera hecho un include debajo de la pagina actual y hubiera insertado el contenido de aquella a continuacion de ésta.

NO SE QUE HACER!
Ya sé que header("Location: urlquesea"); debe ejecutarse antes de todo elemento HTML pero es que con AJAX esto es imposible ya que su respuesta la mete justo en la pagina que tenemos ya cargada en el navegador.
  #2 (permalink)  
Antiguo 03/10/2009, 10:46
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Respuesta: AYUDA!!!! No funciona header:Location !!!!

hola ...

bueno, en tu caso yo haría lo siguiente, dentro de tu función de ajax pongo una condicional, antes de insertar la respuesta en el DIV, primero evalúo si existe error, si existe, pues pongo el resultado en el DIV para ello, en caso de que no exista error, pues simplemente haces el redireccionamiento, algo así como:

if (condicion){ //si existe error

pinto el mensaje de error y hago todo el proceso de ajax para el DIV dentro de esta condicional:
divError.innerHTML="tu mensaje de error".
..todo lo que tiene que ver con AJAX y la creación del mismo

else{ //si no hubo error, pues redirecciono y no hago nada del AJAX
location.href="http://www.lapaginadonderedireccionas.com"

Ahora, mi pregunta, para que te complicas la vida usando AJAX, para un mensaje de error ?? según lo que dices solo estás usando el AJAX para mostrar el mensaje de error, pienso que un simple script que te regrese ATRÁS y te de una ALERT resolvería tu problema. Espero te ayude .. salu2!
__________________
-----------------------------------
Éxitos !!! .. joao
  #3 (permalink)  
Antiguo 03/10/2009, 12:50
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 14 años, 7 meses
Puntos: 8
Respuesta: AYUDA!!!! No funciona header:Location !!!!

Cita:
Iniciado por joaowizard Ver Mensaje
hola ...

bueno, en tu caso yo haría lo siguiente, dentro de tu función de ajax pongo una condicional, antes de insertar la respuesta en el DIV, primero evalúo si existe error, si existe, pues pongo el resultado en el DIV para ello, en caso de que no exista error, pues simplemente haces el redireccionamiento, algo así como:

if (condicion){ //si existe error

pinto el mensaje de error y hago todo el proceso de ajax para el DIV dentro de esta condicional:
divError.innerHTML="tu mensaje de error".
..todo lo que tiene que ver con AJAX y la creación del mismo

else{ //si no hubo error, pues redirecciono y no hago nada del AJAX
location.href="lapaginadonderedireccionas"

Ahora, mi pregunta, para que te complicas la vida usando AJAX, para un mensaje de error ?? según lo que dices solo estás usando el AJAX para mostrar el mensaje de error, pienso que un simple script que te regrese ATRÁS y te de una ALERT resolvería tu problema. Espero te ayude .. salu2!
Hola, gracias por responder.
Eso que dices que haga con las condiciones es justamente como lo tengo. El problema es que a esa pagina.php la llama precisamente el objeto ajax.

Realmente no solo quiero esto para que muestre un mensaje sino para que al loguearse el usuario no tenga que refrescar toda la pagina en caso de error.

De todas maneras es cierto que ajax hay que usarlo para quedarse dentro de la misma pagina. Si tienes que redireccionar a otra la verdad es que Ajax a lo mejor no es bueno usarlo para eso.

Creo que este proceso lo haré sin ajax. Tiene mas sentido.
Y ajax lo usaré por ejemplo para saber si el email está ya en la BD por ejemplo.
Asi evito refrescar toda la pagina.

Gracias de todos modos!
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 15:12.