Téléchargement de fichiers AJAX : gestion des événements de clic et récupération de fichiers côté serveur
Lorsque vous essayez de télécharger un fichier via une requête AJAX, vous pouvez rencontrer des défis. Examinons le problème et proposons une solution.
Dans votre code, vous avez une requête AJAX qui envoie une requête GET à "download.php". Cependant, cette approche n'est pas adaptée aux téléchargements de fichiers. Pour lancer un téléchargement de fichier, une stratégie différente est requise.
Solution :
Au lieu d'utiliser une requête AJAX, il est recommandé d'utiliser le "window.location" méthode. Cette méthode vous permet d'accéder à une URL spécifique, qui déclenchera le téléchargement du fichier. L'extrait de code suivant montre comment y parvenir :
function downloadFile() { window.location = "download.php"; }
Côté serveur, votre script PHP ("download.php") doit être configuré pour gérer les téléchargements de fichiers en définissant les en-têtes HTTP appropriés et en envoyant le contenu du fichier. L'exemple de code suivant montre un exemple de la façon dont cela peut être implémenté :
header("Cache-Control: public"); header("Content-Description: File Transfer"); header("Content-Disposition: attachment; filename= file.txt"); header("Content-Transfer-Encoding: binary"); readfile("file.txt");
En suivant ces étapes, vous pouvez déclencher avec succès un téléchargement de fichier lorsqu'un utilisateur clique sur un bouton de votre page Web.
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!