Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

jquery ajax não funciona sem ponto de interrupção do firebug


O motivo pelo qual você tem esse problema é porque você executou uma operação assíncrona solicitar. Isso significa que o if(rspns == ".") será alcançado antes que a resposta seja recebida do servidor, e o resultado será sempre false .

Para envolver este código em uma função que retorna um booleano e não requer uma função de retorno de chamada (um procedimento de bloqueio), você precisará usar uma solicitação síncrona:
function validateEmaiAjax(email) {

  // This is the correct way to initialise a variable with no value in a function
  var val;

  // Make a synchronous HTTP request
  $.ajax({
    url: "https://localhost/Continental%20Tourism/register_ajax.php",
    async: false,
    data: {
      email: email
    },
    success: function(response) {
      // Update the DOM and send response data back to parent function
      $("#warning").html(response);
      val = response;
    }
  });

  // Now this will work
  if(val == ".") {
    return true;
  } else {
    $("#warning").show();
    return false;
  }

}