Maison >interface Web >js tutoriel >Comment puis-je déclencher un téléchargement de fichier en cliquant sur un bouton à l'aide d'AJAX ?

Comment puis-je déclencher un téléchargement de fichier en cliquant sur un bouton à l'aide d'AJAX ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-31 07:34:10899parcourir

How Can I Trigger a File Download with a Button Click Using AJAX?

Téléchargement de fichiers à l'aide de requêtes AJAX

Dans cet article, nous abordons une question courante qui se pose lors de l'utilisation de requêtes AJAX : "Comment puis-je lancer un téléchargement de fichier en cliquant sur un bouton ?"

Pour commencer, le code fourni tente de déclencher un téléchargement de fichier à l'aide d'une requête AJAX vers "download.php." Cependant, cette approche est insuffisante car les requêtes AJAX ne peuvent pas lancer directement les téléchargements.

Au lieu de cela, il existe deux solutions alternatives :

  1. Utiliser une fonction de réussite :
    Dans cette méthode, une requête AJAX est effectuée et, une fois terminée, le navigateur est redirigé vers "download.php" pour inviter le télécharger.

    $.ajax({
        url: 'download.php',
        type: 'POST',
        success: function() {
            window.location = 'download.php';
        }
    });
  2. Utilisation de window.location (recommandé) :
    Il s'agit de l'approche la plus simple et implique de contourner complètement la requête AJAX en naviguant directement à l'URL de téléchargement.

    window.location = 'download.php';

Il convient de noter que les navigateurs prend désormais en charge l'attribut de téléchargement, qui simplifie les téléchargements de fichiers et élimine le besoin d'AJAX ou de navigation dans les fenêtres. Cependant, sa compatibilité peut varier selon les navigateurs.

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