ajax請求二進制數據


 
  var url = '';
  var xhr = new XMLHttpRequest();
  xhr.open('GET', url, true);    // 也可以使用POST方式,根據接口
  xhr.responseType = "blob"// 返回類型blob
  // 定義請求完成的處理函數,請求前也可以增加加載框/禁用下載按鈕邏輯
  xhr.onload = function () {
    // 請求完成
    if (this.status === 200) {
      // 返回200
      var blob = this.response;
      var reader = new FileReader();
      reader.readAsDataURL(blob);  // 轉換為base64,可以直接放入a表情href
      reader.onload = function (e) {
        // 轉換完成,創建一個a標簽用於下載
        var a = document.createElement('a');
        a.download = 'data.xlsx';
        a.href = e.target.result;
        $("body").append(a);  // 修復firefox中無法觸發click
        a.click();
        $(a).remove();
      }
    }
  };
  // 發送ajax請求
  xhr.send()
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM