SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: dragnus en Miércoles 4 de Julio de 2007, 14:02

Título: Priblemas Con Ajax
Publicado por: dragnus en Miércoles 4 de Julio de 2007, 14:02
Hola jovenes codigeros, tengo una duda tecnica, resulta q estoy haciendo una validacion de ingreso, por un usuario y un password, por ajax.

Cuando no es el usuario o el password correcto se ve un mensaje de error, cuando si lo es debe es pasar a otra pagina, pero no se como hacerlo ??

ya q si es corrrecto le hago un header("Location:pagina2.php");
y no lo hace, tambien lo intente con javascript con un document .location.href='pagina2.php' y tampoco.

Sugerencias ??? :huh:

Gracias
Título: Re: Priblemas Con Ajax
Publicado por: LeGatoRojo en Miércoles 4 de Julio de 2007, 15:52
Bueno en teoria debes de mandar la infor por medio de javascript a un php, el cual lo unico que hace es recibir datos y devolver con un echo o lago por el estilo el resultado, ya de ahi es javascript quien se encarga de hacer el resto, por lo tanto deberias usar locatio.href, tal vez el error sea un bug de javascript o que simplemente no llegue a ese paso.
Título: Re: Priblemas Con Ajax
Publicado por: dragnus en Miércoles 4 de Julio de 2007, 20:44
si llega a ese paso, al hacerlo con location.href no pasa nada
me explico.
Hago un echo "<script>document.location.href='pagina2.php'</script>"

y no pasa nada.... tambien he mirado haciendo
echo "<script>alert('ok');</script>"

Pero no sale el alert....

Suerencias ??  :blink:
Título: Re: Priblemas Con Ajax
Publicado por: F_Tanori en Miércoles 4 de Julio de 2007, 21:02
Puedes mostrar tu codigo?
Título: Re: Priblemas Con Ajax
Publicado por: ibito en Miércoles 4 de Julio de 2007, 23:44
Cita de: "dragnus"
si llega a ese paso, al hacerlo con location.href no pasa nada
me explico.
Hago un echo "<script>document.location.href='pagina2.php'</script>"

y no pasa nada.... tambien he mirado haciendo
echo "<script>alert('ok');</script>"

Pero no sale el alert....

Suerencias ??  :blink:
Yo tuve problemas de ese tipo, y es que no puedes ejecutar código de javascript de esa manera.

Lo que hago, como no uso XML, es cuando quiero meter código de javascript, le pongo algunos caracteres que estoy seguro no usaré para mostrar datos en pantalla, por ejemplo, la función en PHP que uses es la que sigue:
Código: Text
  1.  
  2. function php_function()
  3. {
  4.     echo '~~#alert('ok');#~~';
  5. }
  6.  
  7.  

Con javascript "parseo" el "responseText"  y todo lo que esté entre "~~#" y "#~~" lo ejecuto con eval;
por ejemplo si la función solo tuviera
Código: Text
  1.  
  2. function php_function()
  3. {
  4.     echo 'alert('ok');';
  5. }
  6.  
  7.  
En el script de ajax (javascript) hiciera:
Código: Text
  1.  
  2. eval(ajaxObject.responseText);
  3.  
  4.  

Espero te sirva o les sirva a algunos  :comp:
Título: Re: Priblemas Con Ajax
Publicado por: dragnus en Jueves 5 de Julio de 2007, 02:58
muchachos mi solucion fue la sigiente:
1. por php si el usuario es correcto
echo "ok";
2. en el ajax de javascritp

 if(ajax.responseText=="ok")
         document.location.href='mipagina.php';   
else
 document.getElementById(capa).innerHTML=ajax.responseText;

 :smartass:  :hola:

Gracias amigos codigeros
Título: Re: Priblemas Con Ajax
Publicado por: Mollense en Jueves 5 de Julio de 2007, 15:58
Hola drangus. Esa es una solución que implementé hace poco y funciona bien pero puede traer algunos problemas si utilizaras servidores gratuitos ya que siempre a la respuesta de una petición ajax, ellos le agregan información adicional (Generalmente código JavaScript para el manejo de pop up y cosas por el estilo), por lo que responseText te va a devolver todo ese código concatenado con tu simple "ok"  :rolleyes: ...

Si no utilizás ningún servidor gratuito...ignorá lo anterior :D