Téléchargement de fichiers via AJAX
Lorsque vous essayez de lancer une demande de téléchargement AJAX via un clic sur un bouton, vous pouvez rencontrer un problème où la solution que vous que nous employons actuellement semble inefficace.
Votre approche consiste à créer un objet XMLHttpRequest et à envoyer une requête GET à un script PHP (download.php) qui définit des en-têtes spécifiques et lit les données d'un fichier. Cependant, cette méthode ne déclenche pas l'invite de téléchargement attendue.
Solution
Le nœud du problème réside dans le fait qu'AJAX à lui seul ne peut pas lancer directement les téléchargements de fichiers. Pour y parvenir, vous pouvez utiliser l'une des deux méthodes suivantes :
Utilisation de window.location
Cette méthode est simple et ne nécessite pas de requête AJAX. Attribuez simplement l'URL de téléchargement à window.location.
window.location = "download.php";
Cela accédera au script de téléchargement et invitera l'utilisateur à télécharger le fichier sans modifier la page actuelle.
Utilisation l'attribut de téléchargement (HTML5)
Si la prise en charge du navigateur est un problème, envisagez d'utiliser l'attribut de téléchargement (pris en charge par Firefox et Chrome).
<a href="download.php" download>Download File</a>
L'attribut de téléchargement invite l'utilisateur à télécharger le fichier sans quitter la page actuelle.
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!