Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/09/2010, 20:11
Avatar de Alun
Alun
 
Fecha de Ingreso: diciembre-2009
Ubicación: Liverpool
Mensajes: 140
Antigüedad: 14 años, 5 meses
Puntos: 4
Respuesta: Error al devolver una respuesta de mysql

Hola, mayid, gracias por responder:

La verdad es que yo mismo me he encargado de insertar los mails en la bd, de hecho, he probado los dos mails que he insertado, [email protected] y [email protected]. Antes sí me los validaba bien, pero de pronto, ha dejado de andar. Pego la llamada desde la función, por si hay algún fallo en ella, y la misma función ajax:

Llamada (entre comentarios lo que tenía puesto antes):
Código HTML:
Ver original
  1. <label>Correo Electronico</label><br><input type="text" name="mail" id="mail"> <!-- onBlur="preguntar(this.value,'mail');"-->
  2. <input type="button" id="email" value="Comprobar Email" onClick="preguntar(document.getElementById('mail').value,'mail');">

las funcines AJAX:
Código Javascript:
Ver original
  1. function preguntar(consulta_dato,dato)
  2. {
  3.  //se construye la URL a la que se va a hacer la consulta, pasándole como parámetro GET
  4.  //el parámetro recibido en la llamada a la función, además de un número aleatorio
  5.  //como medida de seguridad, para que el navegador no recurra a la caché, y la función no actue correctamente
  6.  var uurl = "inc/consulta.php?consulta="+consulta_dato+"&dato="+dato+"&important="+parseInt(Math.random()*99999999);
  7.  //Se abre una conexión con el servidor
  8.  consulta.open("GET", uurl, true);
  9.  //se prepara una función respuesta para ejecutar cuando llegue la respuesta
  10.  consulta.onreadystatechange = respuesta;
  11.  //se envía la petición
  12.  consulta.send(null);
  13. }
  14.  
  15. function respuesta()
  16. {
  17.  //redystate 4 significa que la consulta ha sido completada, por tanto, es la respuesta que interesa.
  18.  if(request.readyState == 4)
  19.  {
  20.   //El código de respuesta 200 del servidor significa OK(éxito en la respuesta), por tanto, es el que interesa
  21.   if(request.status==200)
  22.   {
  23.    if(request.responseText=='usado=mail')
  24.    {
  25.     alert(request.responseText);//Este alert está para comprobar la recepción, por si estaba equivocada
  26.     alert('Esa dirección de correo ya está en uso');
  27.    }
  28.    else if(request.responseText=='usado=nik')
  29.    {
  30.     alert('Ese nick ya está en uso');
  31.    }
  32.    else
  33.    {
  34.     if(request.responseText=='disponible=mail')
  35.     {
  36.      alert('Ese mail está DISPONIBLE');
  37.     }
  38.     else if(request.responseText=='disponible=nik')
  39.     {
  40.      alert('Ese nick está DISPONIBLE');
  41.     }
  42.    }
  43.   }
  44.  }
  45. }

Está todo comentado porque es lo primero que hago en ajax, y necesito aclararme qué es cada cosa.

Gracias por las respuestas