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

Respuesta
 
Herramientas Desplegado
Antiguo 08-may-2008, 05:33   #1 (permalink)
jannoz ha deshabilitado la reputación
 
Fecha de Ingreso: marzo-2008
Mensajes: 12
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
jannoz está desconectado   Responder Citando
Antiguo 08-may-2008, 08:11   #2 (permalink)
Moderador
GatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy pronto
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 9.492
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
GatorV está desconectado   Responder Citando
Antiguo 10-may-2008, 02:28   #3 (permalink)
jannoz ha deshabilitado la reputación
 
Fecha de Ingreso: marzo-2008
Mensajes: 12
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...
jannoz está desconectado   Responder Citando
Respuesta
Califica este Tema - Error de ajax o mio.


Herramientas
Desplegado Califica este Tema
Califica este Tema:

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La zona horaria es GMT -6. Ahora son las 12:14.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

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