Maison >interface Web >js tutoriel >Comment définir la fonction de rappel de réussite jQuery AJAX en dehors du bloc .ajax() ?
JQuery AJAX Success Callback Function Definition Outside .ajax() Block
Dans jQuery, vous pouvez récupérer des données d'un serveur à l'aide du $. méthode ajax(). Généralement, la fonction de rappel de réussite est définie dans le bloc .ajax(). Cependant, il est possible de définir le rappel en dehors du bloc.
Définir la fonction de rappel en dehors du bloc .ajax()
Pour définir le rappel de réussite en dehors du . ajax(), vous devez renvoyer le résultat de $.ajax() comme suit :
<code class="javascript">function getData() { return $.ajax({ url: 'example.com', type: 'GET' }); }</code>
Ensuite, vous pouvez utiliser la méthode .done() pour ajouter le rappel en dehors de l'appel .ajax() :
<code class="javascript">getData().done(handleData);</code>
Gestion des données
La fonction handleData peut être définie comme suit :
<code class="javascript">function handleData(data) { alert(data); // Do other stuff }</code>
Les données transmises à la fonction handleData sont les données renvoyées par le serveur.
Avantages de la définition du rappel en dehors du bloc .ajax()
La définition du rappel en dehors du bloc .ajax() fournit plusieurs avantages :
Exemple
Le code suivant montre comment utiliser cette technique :
<code class="javascript">// A trivial timer for demo purposes var timer = $.Deferred(); setTimeout(timer.resolve, 5000); // Add a `done` and an `error` handler to the AJAX call var ajax = getData().done(handleData).fail(error); // Wait for both the AJAX call and the timer to finish $.when(timer, ajax).done(function() { // Both operations have finished }); // Add an additional `done` handler to the AJAX call ajax.done(function() { // Can be added even if the AJAX call has already finished });</code>
Cette technique peut être utile pour découpler la fonctionnalité AJAX des actions ultérieures et pour synchroniser plusieurs opérations asynchrones.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!