2010-06-14 43 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不可見)。