La grande victoire lors de l'utilisation d'AJAX est qu'elle est asynchrone. Vous demandez un appel de fonction synchrone. Cela peut être fait, mais cela peut bloquer le navigateur pendant qu'il attend le serveur.
En utilisant jquery:
function isUsernameAvailable(username) {
var available;
$.ajax({
url: "checkusername.php",
data: {name: username},
async: false, // this makes the ajax-call blocking
dataType: 'json',
success: function (response) {
available = response.available;
}
});
return available;
}
Votre code PHP doit alors vérifier la base de données, et le retour
{available: true}
si le nom est ok.
Cela dit, vous devriez probablement le faire de manière asynchrone. Comme si:
function checkUsernameAvailability(username) {
$.getJSON("checkusername.php", {name: username}, function (response) {
if (!response.available) {
alert("Sorry, but that username isn't available.");
}
});
}
Vous devriez considérer le facteur de sécurité: Vous ne devriez pas utiliser si le nom d'utilisateur n'est pas une donnée publique. Sinon, cela pourrait être abusé pour récupérer un nom d'utilisateur valide. – Gumbo