GET請求和POST請求要看情況而定
GET請求方式是比較簡單的,簡單的處理前端只需要透過一個a標籤就能實現匯出或下載。
但是使用GET請求的需要考慮:
檢索條件多不多,其次就是如果檢索條件拼接在請求URL上會不會超過請求URL的最大長度。如果請求URL的長度超過瀏覽器的限制長度,瀏覽器將會將請求自動截斷。
GET請求適用於匯出所有數據或者是有個把檢索條件並且檢索條件長度不是特別長的。總之簡單匯出使用GET請求還是很香的!
POST請求的方式做匯出比較的麻煩,需要前後端配合來使用,爲了確保更好的用戶體驗(在用戶點擊匯出或下載後,可以看到檔案的下載進度),透過流的方式來實現匯出或下載。
後端將處理好的數據存儲在Excel表格中,讀取Excel表格,以流的方式響應給前端
前端透過Blob類型接收,透過teObjectURL()創建源路徑,使用document文檔對象創建一個a標籤爲a標籤添加href屬性和值(值就是源路徑),爲a標籤設定download屬性和值(值就是被下載的檔案名),將指定a標籤節點加到的末尾,最後爲a標籤設定一個自觸發的點擊事件。
POST請求最適用於檢索條件多的場景