//注意: ajax請求不要用jquery , jquery 對返回數據做了處理,下載文件無法打開.
var xhr = new XMLHttpRequest(); xhr.open('POST', getHeader.userApi+'/grpIssue/file/downloadGroupPolicies', true); //也可以使用POST方式,根據接口 xhr.setRequestHeader("Content-Type","application/json"); xhr.responseType = "blob"; //返回類型blob xhr.setRequestHeader('Accept',getHeader.header.Accept) ; xhr.setRequestHeader('clientId',getHeader.header.clientId) ; xhr.setRequestHeader('token',getHeader.header.token) ; xhr.onload = function () { //定義請求完成的處理函數 if (this.status === 200) { var blob = this.response; if(blob.size>0){ var reader = new FileReader(); reader.readAsDataURL(blob); // 轉換為base64,可以直接放入a標簽href reader.onload = function (e) { // 轉換完成,創建一個a標簽用於下載 var a = document.createElement('a'); a.download = '訂單列表.xlsx'; a.href = e.target.result; $("body").append(a); // 修復firefox中無法觸發click a.click(); $(a).remove(); // window.location.reload(); } }else{ tip('下載失敗'); } } };