post請求方式

.on('click','#btn_export',function(event){
    event.preventDefault();
    var url = '/admin/people_self_modify/download';
    var fileName = '員工檔案審覈列表導出' + '.xlsx';
    var obj = {};
    _.each(exportArray,function(data,i){
        obj[data.name] = data.value;
    })
    $.download(url, { data: obj }, fileName)
})



/**
 * @description: 導出post請求方式
 * @param {type} 
 * @return: 
 */
jQuery.download = function (url, data, fileName) {
    var downloadURL = url + '';
    downloadURL = url;
    var xhr = new XMLHttpRequest()
    var fileName = fileName // 文件名稱
    xhr.open('POST', downloadURL, true);
    xhr.responseType = 'arraybuffer';
    xhr.setRequestHeader('Content-Type', 'application/json');
    toast();
    xhr.onload = function () {
      toast('hide')
      if (this.status === 200) {
        var type = xhr.getResponseHeader('Content-Type')
  
        var blob = new Blob([this.response], { type: type })
        if (typeof window.navigator.msSaveBlob !== 'undefined') {
          /*
           * IE workaround for "HTML7007: One or more blob URLs were revoked by closing
           * the blob for which they were created. These URLs will no longer resolve as
           * the data backing the URL has been freed."
           */
          window.navigator.msSaveBlob(blob, fileName);
        } else {
          var URL = window.URL || window.webkitURL;
          var objectUrl = URL.createObjectURL(blob);
          // console.log(objectUrl);
          //"blob:http://localhost:10614/3e48b856-fca6-4e4c-b780-1c4a7066f42e"
          if (fileName) {
            var a = document.createElement('a');
            // safari doesn't support this yet
            if (typeof a.download === 'undefined') {
              window.location = objectUrl
            } else {
              a.href = objectUrl;
              a.download = fileName;
              document.body.appendChild(a);
              a.click();
              a.remove();
            }
          } else {
            window.location = objectUrl;
          }
        }
      } else {
        show_notify_msg('請求失敗,請重試', 'ERR')
      }
    }
    xhr.send(JSON.stringify(data));
  }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章