Mysql
 sql >> Datenbank >  >> RDS >> Mysql

jquery ajax funktioniert nicht ohne Firebug-Haltepunkt

Der Grund für dieses Problem ist, dass Sie eine asynchrone Ausführung durchgeführt haben Anfrage. Das bedeutet, dass der if(rspns == ".") wird erreicht, bevor die Antwort vom Server empfangen wurde, und das Ergebnis ist immer false .

Um diesen Code in eine Funktion zu packen, die einen booleschen Wert zurückgibt und keine Callback-Funktion (eine Sperrprozedur) benötigt, müssen Sie eine synchrone Anfrage verwenden:

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;
  }

}