Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/05/2014, 08:19
fabrozz
 
Fecha de Ingreso: mayo-2014
Mensajes: 2
Antigüedad: 10 años, 7 meses
Puntos: 0
Pregunta [PROBLEMA] Callback Ajax

Buenos días, mi duda se sitúa en base a una función que tiene como objetivo validar desde javascript los valores de registro de un usuario en un formulario, es decir, caracteres para el nick, tamaño del mismo, mail correcto, password y repassword iguales, etc. Pero ademas de esto, en la misma función verifico que el nick y mail no existan como activos. Para esto hago un simple ajax, que consulte la db.

Mi problema es que el ajax esta en la función general, ejemplo:

Código:
function validarRegistro(nick,pass){
	if(nick.length < 3){
		alert('El nick debe tener mas de 3 caracteres');
		return false;
	}

	req = $.ajax({
		type: 'POST',
		url: 'ajax/funcionesvarias.php',
		data: {
			'accion':'validarNick',
			'nick': nick
		},
		success: function(data){
			if (data == "en uso"){
				alert('El nick ya esta en uso');
				return false;
			}
		}
	});

	//resto de la funcion 
}
Tiene un callback, que me informa si el nick esta en uso, y en ese caso, devuelve false, para salir de la función. Pero (creo) que al ser asincronico, si la respuesta tarda, el return llega mas tarde y la función ya finaliza, por lo cual, si esta en uso nunca lo se.

Alguien ve una posible solución?

pd: probe separando la validación de existencia en una función aparte (function validarNickExistente()) pero pasa lo mismo (me devuelve undefined, en lugar de un booleano).

Muchas gracias!!