J'ai le code JavaScript suivant (et jQuery) Code:Comment puis-je renvoyer une valeur récupérée par AJAX à la fonction parente de la fonction en cours dans JavaScript?
function checkEmail(email) {
if (email.length) {
$.getJSON('ajax/validate', {email: email}, function(data){
if (data == false) {
// stuff
}
return data;
})
}
}
Je veux la fonction anonyme à return data
à la fonction parent, checkEmail()
. J'ai essayé de faire quelque chose comme ceci:
function checkEmail(email) {
if (email.length) {
var ret = null;
$.getJSON('ajax/validate', {email: email}, function(data){
if (data == false) {
// stuff
}
ret = data;
})
return ret;
}
}
Mais bien sûr, cela ne fonctionnera pas parce que le $.getJSON()
appel est asynchrone, il return ret
avant la requête GET est terminée.
Une pensée ici?
Merci!
Je vois ce même problème affiché ici plusieurs fois par jour. Ne commencez pas à écrire AJAX jusqu'à ce que vous compreniez comment cela fonctionne, les gens !! –
Et puis les gens votent ce queston au lieu de le fermer en double comme ils sont supposés le faire. –
FWIW, ceci est fermé en tant que doublon de http://stackoverflow.com/questions/1094716/how-does-one-return-data-to-the-original-caller-function-in-javascript, qui demande assez à peu près la même chose. – Shog9