Maison >interface Web >js tutoriel >Est-il possible de définir des fonctions de rappel de réussite jQuery AJAX en externe ?

Est-il possible de définir des fonctions de rappel de réussite jQuery AJAX en externe ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-18 19:27:031030parcourir

Is It Possible to Define jQuery AJAX Success Callback Functions Externally?

Définition des fonctions de rappel de réussite pour jQuery AJAX

Lors de la récupération de données d'un serveur à l'aide de jQuery AJAX, les développeurs définissent souvent la fonction de rappel de réussite dans le Bloc .ajax(). Cependant, est-il possible de définir la fonction de rappel en externe ?

Fonction de rappel externe

L'extrait de code fourni tente de définir la fonction de rappel de réussite en dehors du .ajax() block :

var dataFromServer;  //declare the variable first

function getData() {
    $.ajax({
        url : 'example.com',
        type: 'GET',
        success : handleData(dataFromServer)
    })
}

function handleData(data) {
    alert(data);
    //do some stuff
}

Recommandation : utiliser des objets différés

Bien que l'extrait de code puisse techniquement fonctionner, il n'est plus recommandé de définir le rappel de réussite en dehors du .ajax () bloc. Utilisez plutôt des objets différés :

function getData() {
    return $.ajax({
        url : 'example.com',
        type: 'GET'
    });
}

function handleData(data /* , textStatus, jqXHR */ ) {
    alert(data);
    //do some stuff
}

getData().done(handleData);

Les objets différés offrent plusieurs avantages :

  • Découplage :Ils séparent la gestion des rappels de la gestion AJAX, ce qui permet une maintenance plus facile. .
  • Rappels multiples : Les objets différés prennent en charge l'ajout de plusieurs rappels de réussite et d'erreur.
  • Synchronisation : Ils permettent une synchronisation facile de plusieurs événements asynchrones, tels que comme les appels et les minuteries AJAX.

L'utilisation d'objets différés offre une plus grande flexibilité et un plus grand contrôle sur la gestion des rappels AJAX, ce qui en fait une approche plus robuste et moderne.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn