D'attente pour une requête AJAX à la fin?
J'ai un problème qui est source de confusion, moi en ce moment. J'utilise de l'ajax pour obtenir une pièce d'identité est à partir d'un site web. Une fois que c'est terminé je veux stocker l'ID dans une variable pour la poursuite du traitement. J'ai mon code disposées comme ceci:
var ids;
function get_ids() { ... Get the ID's from the site and store them in the global variable ids ... }
get_ids();
alert(ids.length);
Comme vous pouvez le voir id sera toujours 0, car le script continuera à s'exécuter avant que la requête ajax dans get_ids a eu une chance de répondre.
Quelle est la meilleure façon pour ce que je suis en train de faire? Je veux attendre jusqu'à ce que get_ids a fini.
OriginalL'auteur Riess Howder | 2011-04-21
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de faire
get_ids
prendre un paramètre de rappel et de l'appeler quand il reçoit une réponse.Par exemple:
OriginalL'auteur SLaks
Cela dépend de votre framework AJAX, mais à peu près n'importe quel cadre vous permettra de spécifier une fonction à exécuter lorsque la requête AJAX est terminée. En JQuery:
OriginalL'auteur David Fullerton
Si vous êtes en utilisant un vieux javasript, vous pouvez appeler une fonction à exécuter après que l'AJAX a complété comme suit:
OriginalL'auteur Munzilla
Je suis en utilisant AJAX synchrone dans des situations comme ça; c'est un appel bloquant, je ordinairement éviter, mais je ne vois pas d'autre alternative.
Voir Synchrone AJAX
OriginalL'auteur user1032402