2010-06-14 61 views
0

我有一个网址/reportcsv,它生成一个带有Content-type: text/csvContent-disposition: attachment; filename=report.csv的纯文本csv。我想触发这个CSV使用Javascript下载。我正在考虑两种方法:使用Javascript触发CSV下载?

1)设置location.href = /reportcsv

2)一个iframe URL设置为/reportcsv

双方似乎在Safari中工作。我想知道他们之间是否有任何区别,或者是否有人推荐。我的主要要求是我不希望用户离开当前页面。

回答

2

只要您正确设置Content-disposition标头,您应该没问题。在这种情况下,location.href是最好的方式,因为它更容易,它应该就像按下一个下载链接一样。此外,如果您的服务器回复文件以外的其他内容(例如错误代码),用户一定会在iframe方法中看到它,他们可以永远等待(假设iframe不可见)。