"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je afficher une image de chargement lors de requêtes AJAX asynchrones ?

Comment puis-je afficher une image de chargement lors de requêtes AJAX asynchrones ?

Publié le 2024-11-19
Parcourir:657

How Can I Display a Loading Image During Asynchronous AJAX Requests?

Affichage de l'image de chargement lors des requêtes asynchrones

L'exécution de requêtes asynchrones à l'aide de $.ajax peut prêter à confusion en raison du manque d'indication visible du processus en cours. Cet article explore les techniques permettant d'afficher une image de chargement lors de telles requêtes.

Pour commencer, l'extrait de code fourni effectue une requête asynchrone vers une URL et ajoute le HTML reçu à un élément avec la classe « info ». Pour afficher une image de chargement, un élément d'image avec un « id » de « loading-image » peut être utilisé.

Une approche consiste à afficher l'image avant de faire la demande et à la masquer une fois terminée :

$('#loading-image').show();
$.ajax({
  url: uri,
  cache: false,
  success: function(html){
    $('.info').append(html);
  }
  complete: function(){
    $('#loading-image').hide();
  }
});

Une approche plus générale consiste à lier l'image de chargement aux événements globaux ajaxStart et ajaxStop. De cette façon, l'image sera visible pour toutes les requêtes asynchrones :

$('#loading-image').bind('ajaxStart', function(){
    $(this).show();
}).bind('ajaxStop', function(){
    $(this).hide();
});

Ces techniques fournissent une indication conviviale de la demande asynchrone en cours, améliorant ainsi l'expérience utilisateur.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3