2012-02-29 4 views
0

J'ai une page qui produit un fichier PDF et télécharge automatiquement le fichier.jQuery ajax charger une page avec un téléchargement automatique

Je dois soumettre certaines variables à la page pour que le PDF soit produit. En ce moment je l'ai soumis un formulaire en utilisant jQuery comme ceci $("#expForm").submit();. Je soumets le formulaire jQuery parce que je dois appliquer une certaine logique avant que le formulaire ne soit soumis.

Cela fonctionne très bien et un PDF apparaît immédiatement.

Le problème est que je dois avoir une sorte d'icône de chargement parce que la page d'exportation charge beaucoup de données et je ne veux pas confondre l'utilisateur.

J'ai essayé de faire cela en utilisant $.post('exp.html', $("#expForm").serialize() ,function(data) {});

La page se charge d'exportation, mais il ne sort pas le PDF. Si j'ouvre le lien depuis la console de Firebug, le PDF se charge.

Est-ce que quelqu'un sait d'une façon de le faire automatiquement télécharger le PDF avec l'aide de la $.post()

Toute aide sur ce serait formidable. Merci

Répondre

1

retourne le chemin vers le fichier pdf dans la réponse, et redirigent dans le gestionnaire de succès

$.post('exp.html', $("#expForm").serialize() ,function(data) { 
location.href='path/to/pdf'; 
}); 
+0

Merci pour l'aide. J'ai fini par utiliser quelque chose de proche. – Sequenzia

0

Il n'est pas possible d'utiliser $.post() mais vous pouvez utiliser un iframe caché et avoir un formulaire qui soumettra les données à iframe.

Avec cette approche, vous pouvez afficher la barre de progression ou une icône de chargement jusqu'à ce que le serveur réponde. Et puis vous pouvez masquer la barre de progression sur iframeload événement.

Questions connexes