Gestion des téléchargements PDF via Ajax : une solution
Lorsqu'un appel Ajax tente de télécharger un fichier PDF généré par une classe d'action, il peut rencontrez une erreur si le flux ne peut pas être transmis au navigateur. Pour résoudre ce problème, une approche différente est nécessaire.
Dans la classe d'action fournie, le fichier PDF est généré et son flux est configuré pour être téléchargé avec les en-têtes corrects. Cependant, l'appel Ajax doit être traité différemment pour faciliter le transfert.
Voici une solution qui a été implémentée avec succès :
<code class="javascript">$.ajax({ url: '<URL_TO_FILE>', success: function(data) { var blob=new Blob([data]); var link=document.createElement('a'); link.href=window.URL.createObjectURL(blob); link.download="<FILENAME_TO_SAVE_WITH_EXTENSION>"; link.click(); } });</code>
Dans ce code, l'appel Ajax récupère le fichier PDF flux en tant que variable de données. Il crée ensuite un objet Blob à partir des données. Un nouvel élément de lien est créé et son href est défini sur l'URL du Blob. L'attribut de téléchargement est défini sur le nom de fichier souhaité avec l'extension appropriée. Enfin, on clique sur le lien pour lancer le processus de téléchargement.
Cette approche s'est avérée efficace pour transmettre les fichiers PDF générés par la classe d'action au navigateur pour téléchargement, permettant une intégration transparente entre le serveur et le client.
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!