Comment annuler correctement (interrompre) une requête AJAX dans jQuery ?
Bonjour à tous ! Je viens de commencer à étudier AJAX et jQuery, et j'ai rencontré un problème. Sur ma page, il y a plusieurs boutons, et lorsqu'on clique dessus, des requêtes AJAX sont envoyées au serveur. Parfois, l'utilisateur clique rapidement sur différents boutons, et il arrive que l'ancienne requête ne soit pas encore terminée alors qu'une nouvelle est déjà envoyée.
Voici mon code simplifié :
```javascript
$('.load-data').click(function() {
var id = $(this).data('id');
$.ajax({
url: '/api/data/' + id,
method: 'GET',
success: function(response) {
$('#content').html(response);
},
error: function(xhr, status, error) {
console.log('Erreur : ' + error);
}
});
});
```
Le problème est que si on clique rapidement sur les boutons 1, 2 et 3, le div#content peut afficher la réponse de la requête du bouton 1, puis celle du bouton 2 — les données se mélangent donc. Je veux que lors d'un nouveau clic, l'ancienne requête soit annulée, et que seule la dernière réponse arrive dans le conteneur.
J'ai essayé de
No answers yet.
Connectez-vous pour laisser une réponse
Blogs
Monorepo avec TypeScript : organisation du code et bonnes pratiques
Travailler avec JSON en Rust : analyse, sérialisation et exemples pratiques
Kotlin comme colle : Intégration avec Java, Python, C et JS
Déploiement PHP sur Kubernetes : guide pratique étape par étape