2010-06-14 8 views
0

J'ai une URL /reportcsv qui génère un texte CSV en texte brut avec Content-type: text/csv et Content-disposition: attachment; filename=report.csv. Je veux déclencher ce csv à télécharger en utilisant Javascript. J'envisage deux méthodes:Déclenche le téléchargement CSV en utilisant Javascript?

1) Réglage location.href = /reportcsv

2) Définition d'une URL iframe pour /reportcsv

Les deux semblent travailler dans Safari. Je me demandais s'il y avait une différence entre eux, ou si l'un est recommandé par rapport à l'autre. Ma principale exigence est que je ne veux pas que l'utilisateur quitte la page actuelle.

Répondre

2

Cela devrait fonctionner tant que vous définissez l'en-tête Content-disposition correctement. Dans ce cas, location.href vient à l'esprit comme le meilleur moyen parce que c'est plus facile et cela devrait être comme appuyer sur un lien de téléchargement. Aussi, si votre serveur répond avec autre chose que le fichier (comme un code d'erreur), les utilisateurs seraient sûrs de le voir tandis que dans la méthode iframe, ils pourraient simplement attendre indéfiniment (en supposant que l'iframe n'est pas visible).

Questions connexes