Bonjour,

J'utilise cette fonction

function checkName(name) {
    var valid = true;
    $.ajax({
        async: true,
        data: { name:name },
        dataType: "json",
        url: '/scripts/checker.php',
        success: function(response) {
            valid = !response.taken;
        }
    });
    return valid;
}

La page checker.php vérifie que le pseudo existe et s'il existe je fais un echo "yes" sinon un echo "no"

J'aimerai récupérer à la fin du script ajax la valeur "yes" ou "no"

Pouvez vous m'aider à modifier le script car là il me répond systematiquement "true" alors que lorsque je regarde la réponse dans firebug, j'ai bien le "yes" ou le "no"

Merci pour votre aide :)

2 réponses


Est-ce que tu peux nous mettre le code que tu fais pour appeler cette fonction et comment tu traites ces données ? (le if qui fait le echo "yes" ou "no")

Bonjour, si le script php renvoit yes ou no tu n'a pas besoin de dataType: "json", car tes données ne sont pas en JSON

après tu n'a plus qu'a poser la condition

exemple :

function checkName(name) {
    var valid = true;

    $.ajax({
        async: true,
        data: { name:name },
        url: '/scripts/checker.php',
        success: function(response) {
            if (reponse == 'yes')
            {
                alert('pseudo trouvé');
               var valid = true
            }
            else if (reponse == 'yes')
            {
                alert('pseudo non trouvé');
                var valid = false;
            }
            else
            {
                alert('un bug est survenu');
                var valid = false;
            }
        }
    });
    return valid;
}