Im folgenden Code funktioniert der Ajax-Aufruf und isTaken
wird ordnungsgemäß aktualisiert. Aber return isTaken
wird ausgeführt, bevor der Ajax-Aufruf abgeschlossen ist, so dass immer die ursprüngliche false
Einstellung zurückgegeben wird. async = true
ist veraltet, wie kann ich warten, bis der Ajax-Aufruf fertig ist, bevor eine korrekt aktualisierte Antwort isTaken
zurückgegeben wird?jquery validator mit AJAX-Timing-Problem
$.validator.addMethod("checkExists",
function (value, element) {
var email = $("#email").val();
var data = {email: email};
var isTaken = false;
$.ajax({
type: "POST",
url: "http://localhost/CFBserver/check_email.php",
data: data,
success: function (response) {
isTaken = (response == 1) ? true : false;
}
});
return isTaken;
},
"This username is already taken! Try another."
);
prüfen diese : https://jqueryvalidation.org/remote-method/ –