Depuis ces return
déclarations que vous avez actuellement ne fonctionnent pas plus tard, vous avez besoin d'appeler un code qui repose sur les données du rappel, par exemple:
function check_available() {
$.post('ajax', {
action: 'mail'
}, function(data) {
myNextFunction($.trim(data) == 'NO_ERROR');
});
}
function myNextFunction(isAvailable) {
//do something, this runs after the AJAX request completes the check
}
Ainsi, au lieu de traiter est synchronosuly avec une instruction return
, traiter le chemin du code comme asynchrone, et lancer n'importe quel code ayant besoin de la valeur "disponible" du callback $.post()
, il s'exécutera lorsque la requête du serveur reviendra et que le booléen dont vous avez besoin est prêt à l'emploi.
Actuellement, il renvoie undefined
car cette fonction de rappel se produit plus tard (après que votre code actuel a essayé d'utiliser la valeur).