Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/08/2011, 05:29
lemmy2011
 
Fecha de Ingreso: febrero-2011
Mensajes: 156
Antigüedad: 13 años, 9 meses
Puntos: 4
async:true vs async:false validando un campo

Hola a todos! Tengo una duda, que entiendo debe ser básica pues no soy ningún experto en tecnología AJAX. Quiero validar un campo. Para ello empleo ajax, haciendo una llamada a un php que valida su valor. En caso de no cumplir la condición muestra un mensaje y retorna un error. Así, el JS principal sabe si debe abortar el proceso o continuar. Algo así:

-------- Código PHP que efectúa la validación (comprueba.php) ------

if [Pasa la validación] { echo 'S'; }
else { echo 'N'; }

------------- Funcion JS que efectua la llamada a AJAX -------------------

fun_accion_ajax()
{
var v_error = 'N';

$.ajax({
type: "GET",
url: "./comprueba.php",
async:true
success: function(datos)
{
if ( datos == 'N' )
{
v_error = 'S';
alert('No valida');
}
}
});

return v_error;
}

--------------- Javascript Principal --------------------

var v_error = 'N';

v_error = fun_accion_ajax();

if ( v_error == 'N' ) { [Continúa el proceso] }


Pues la duda estaría en "fun_accion_ajax()". Concretamente en la propiedad "async". Si la establezco como "async:true" hay veces que no me retorna el valor correcto. En cambio, con "async:false" va perfecto. Es correcto? Debo utilizar "async:false" en este caso? O estoy haciendo algo mal?

Muchas gracias por vusetro tiempo!