Téléchargement des fichiers Excel via AJAX dans les applications MVC
De nombreuses applications MVC doivent générer des fichiers Excel à partir de données de formulaire soumises. Le retour directement d'un fichier Excel à partir d'un appel ajax n'est pas pratique.
La meilleure solution utilise AJAX pour envoyer des données de formulaire au serveur. Le serveur crée le fichier Excel et stocke son chemin ou nom de fichier (par exemple, dans tempdata ou dans la réponse JSON).
L'appel Ajax reçoit ce chemin ou nom de fichier. Une redirection déclenche ensuite une action de contrôleur distincte pour récupérer le fichier et lancer le téléchargement.
Voici une ventilation du processus:
Demande AJAX: Le gestionnaire de soumission de formulaire fait un appel ajax à une action côté serveur responsable de la génération de fichiers Excel. Les données de formulaire sont incluses dans la demande.
Action côté serveur (génération Excel): Cette action reçoit les données de formulaire, génère le fichier Excel et stocke son emplacement (chemin ou nom de fichier) - soit en tempdata, soit en le renvoyant dans le JSON réponse.
Réponse AJAX: L'appel AJAX reçoit l'emplacement du fichier (chemin ou nom de fichier) du serveur.
Ajax Success Handler: Le gestionnaire de succès redirige le navigateur vers une action de contrôleur dédiée conçue pour les téléchargements de fichiers. L'emplacement du fichier est passé sous forme de paramètre.
Télécharger l'action du contrôleur: Cette action reçoit l'emplacement du fichier, récupère le fichier de tempdata ou le système de fichiers et définit les en-têtes HTTP appropriés pour déclencher le téléchargement.
Cette méthode assure des téléchargements de fichiers lisses sans créer de fichiers inutiles sur le serveur et sans interférer avec d'autres actions de formulaire.
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!