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

Pasar parametro php a javascript por ajax (Prototype)

Estas en el tema de Pasar parametro php a javascript por ajax (Prototype) en el foro de Frameworks JS en Foros del Web. Hola amigos, les escribo por el siguiente problema, resulta que estoy haciendo un sistema de administración, y la forma de loguearse la hice con ajax.updater ...
  #1 (permalink)  
Antiguo 04/02/2010, 15:19
 
Fecha de Ingreso: abril-2007
Ubicación: Chile
Mensajes: 27
Antigüedad: 16 años, 11 meses
Puntos: 0
Pasar parametro php a javascript por ajax (Prototype)

Hola amigos, les escribo por el siguiente problema, resulta que estoy haciendo un sistema de administración, y la forma de loguearse la hice con ajax.updater de prototype, así si se loguean reviso con php y si hay error, por ejemplo, imprimo: "Error", si está ok pongo "Ok, logueado".

Ahora cuando está ok necesitaba redireccionar a la página de administración y al hacerlo por php descubrí que se imprime toda la página de administración en el div de respuesta de la página para logear. Entonces averiguando veo que tengo que hacerlo por javascript (window.locate), pero aquí empieza mi gran problema. Resulta que no sé como diferenciar en el ajax.updater cuando el login es correcto y que redireccione, ya que si pongo en el onComple la redirección la hará para todo proceso correcto, incluido cuando hay un error de password o usuario inexistente, y en estos casos solo quiero mostrar el mensaje en el div que hubo un error. Por lo tanto la unica salida que veo es enviar un parametro (login = 1 , login = 0) desde el php al javascript y así este puede decidir si redirecciona o si deja que se muestre el mensaje en el div.


Código:
function valida(){
	var llamada = 0;
        var contenedor = "avisar";
        var user = $F('usuario');
        var pass = $F('password');
        var opcion = "validar";
        var url   = "ajax.php";
        if(usuario == '' || password == ''){
          alert("Debe completar alguno de los campos");
          return false;
        }
        //parámetros necesarios para Ajax.Updater
        var params = "user="+usuario+"&pass="+password+"&opcion="+opcion;
        //envía datos por Ajax
        var ajx = new Ajax.Updater(contenedor,
                                                url,
                                                {method:"post",
                                                parameters:params,
                                                onComplete: function( resp ){$(contenedor).show(); new Effect.Highlight(contenedor, { startcolor: '#ffff99',endcolor: '#eef8d5' });}
                                                }
                                        );
Gracias por su ayuda,

Saludos
  #2 (permalink)  
Antiguo 05/02/2010, 04:35
Avatar de Midal  
Fecha de Ingreso: febrero-2010
Ubicación: Valencia
Mensajes: 60
Antigüedad: 14 años, 1 mes
Puntos: 9
Respuesta: Pasar parametro php a javascript por ajax (Prototype)

No termino de entender lo que buscas.
Creo que hacer un login por ajax, que si es correcto direccione una página y si no lo es simplemente actualice un div, no?

Haz que el php en el que se comprueba el usuario y contraseña imprima "0" si es correcto y "1" si es erroneo.

En lugar de un Ajax.Updater necesitarás un Ajax.Request

Y en el onSuccess haz esto:

Código JavaScript:
Ver original
  1. onSuccess:  function(resp){
  2.     if(resp.responseText == "0"){ //Si el login es correcto lo envia a paginaUsuario.php
  3.         window.location.href="paginaUsuario.php"
  4.     }else{ //Si el login es incorrecto imprime "Error" en el div
  5.         $('divAactualizar').update('Error');
  6.     }
  7. }
  #3 (permalink)  
Antiguo 05/02/2010, 12:48
 
Fecha de Ingreso: abril-2007
Ubicación: Chile
Mensajes: 27
Antigüedad: 16 años, 11 meses
Puntos: 0
De acuerdo Respuesta: Pasar parametro php a javascript por ajax (Prototype)

Gracias Midal!!, es exactamente eso lo que quería pero no tenía idea como se capturaba en el javascript la respuesta de php, por eso es que no podía redireccionar por javascript. Lo probaré y les cuento.

Muchas Gracias, te pasaste!.

Etiquetas: ajax, javascript, pasar, php, prototype, parámetros
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 10:01.