Regresar   Foros del Web > Programación para sitios web > AJAX

El registro es Gratis en Foros del Web
Respuesta
 
Herramientas Buscar en Tema Desplegado
Antiguo 08/05/08, 05:33:10   #1 (permalink)
jannoz ha deshabilitado el Karma
 
Registrado: mar 2008
Mensajes: 12
jannoz is offline  
Triste Error de ajax o mio

Hola tengo una duda que no puedo resolver estoy utilizando ajax para hacer una consulta a mi base de datos.
En este caso hago la consulta para saber si un registro existe en mi base esto con el fin de validar antes del submit...

Este es mi codigo ajax:
Código:
function busca_usu(){
	usu = document.formu.usu_login.value;
	ajaxusu=newAjax();
	ajaxusu.open("POST", "verifica.php",true);
	ajaxusu.onreadystatechange=function() {
		if (ajaxusu.readyState==4) {
			respuesta = ajaxusu.responseText;
			if (respuesta == '1')
			{
			return (false);	
			}
			if (respuesta == '0')
			{
			return (true);	
			}
		}
	}
	ajaxusu.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	ajaxusu.send("usuario="+usu);
}
ahora en verifica.php tengo esto:
Código:
require_once("../../configuracion.php");
$usu = $_POST['usuario'];
$sql = "select login from usuarios where login = '".$usu."'";
$result = mysql_query($sql, $local);
$num = mysql_num_rows($result);
if ($num == 0)
{
echo "0";
}
else
{
echo "1";
}
ahora llamo a la funcion busca_usu() antes del submit algo asi
Código:
verifica = busca_usu();
if (!verifica)
{
//algo mas
return (false);//asi ya no envia el formulario
//algo mas aca
}
Me estuvo funcionando bien las primeras veces q lo probe pero quise repetirlo en otro formulario y ahi murio mi codigo T_T ya no funcionaba en ninguno de los 2 formularios y no cambie nada...
Probando vi que ajax ya no me devuelve "1" o "0" como yo lo programe mas bien me devuelve "espaciosssssssss en blanco y al final mi variable 1" se pupone que no deberia reconocerlo pero igual la funcion busca_usu() me devuelve false...
No deberia ser asi no se q abra pasado?
Ajax tiene requirimientos para usarlo?
Porfavor si alguien pueda orientarme lo agradeceria mucho
  Responder Con Cita
Antiguo 08/05/08, 08:11:35   #2 (permalink)
Moderador
GatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karma
 
Registrado: may 2006
Ubicación: Queretaro, Mexico
Mensajes: 9.143
GatorV is offline  
Re: Error de ajax o mio

Hola jannoz,

Recuerda que AJAX es asíncrono, por lo que tu envías tu petición al servidor, el servidor procesa y te regresa la respuesta pero de manera asíncrona, no puedes hacer un return directamente ya que no te regresa nada.

Debes de hacer algo así:
Código:
function busca_usu(){
	usu = document.formu.usu_login.value;
	ajaxusu=newAjax();
	ajaxusu.open("POST", "verifica.php",true);
	ajaxusu.onreadystatechange=function() {
		if (ajaxusu.readyState==4) {
			procesaRespuesta( ajaxusu.responseText );
		}
	}
	ajaxusu.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	ajaxusu.send("usuario="+usu);
}

function procesaRespuesta(val) {
       if( val == "1" ) {
                 form_submit();
       } else {
                 alert( "El usuario ya existe!" );
       }
}
Luego en el código donde envías a tu formulario:
Código:
function onFormSubmit() {
        busca_usu();
        return false;
}
Saludos.
__________________
Blog Web
  Responder Con Cita
Antiguo 10/05/08, 02:28:12   #3 (permalink)
jannoz ha deshabilitado el Karma
 
Registrado: mar 2008
Mensajes: 12
jannoz is offline  
Re: Error de ajax o mio

Hola gracias por tu respuesta estuve probando distintas maneras de hacerlo pero no me funcionan me sigue botando de respuesta:
"e s p a c i o s e n b l a n c o y e l r e s u l t a d o a l f i n a l 1"
He pensado que tal vez la manera en que trabajo crea algun conflicto aunque no creo..., llamo a diferentes paginas, cada pagina contiene diferente codigo php ademas de un formulario distinto, esto dependiendo de una variable la cual la recibo con get para luego mostrarla con include(), tambien llamo diferente codigo javascript dependiendo de la misma variable, todo esto en una pagina principal, esto no me presenta ningun problema, pero al querer usar ajax me pasa lo de los espacios aun no encuentro el error deberia de funcionar.....

Saludos...
  Responder Con Cita
Respuesta


Califica este Tema - Error de ajax o mio.

Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado Califica este Tema
Califica este Tema:

Reglas del foro
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está activado
Las caritas están activado
Código [IMG] está activado
Código HTML está desactivado


Todas las horas son GMT -6. La hora es 07:16:11.

Message Board Statistics

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96