2017-03-01 52 views
0

var formdata = new FormData();XMLHttpRequest不適用於IE 11的文件下載

var xhr = null; 
    if(typeof XMLHttpRequest != "undefined"){ 

     xhr = new XMLHttpRequest(); 
    } 
    else if(typeof window.ActiveXObject != "undefined"){ 
     try { 

      xhr = new ActiveXObject("Msxml2.XMLHTTP.4.0"); 
     } 
     catch(e){ 
      try { 

       xhr = new ActiveXObject("MSXML2.XMLHTTP"); 
      } 
      catch(e){ 
       try { 

        xhr = new ActiveXObject("Microsoft.XMLHTTP"); 
       } 
       catch(e){ 

        xhr = null; 
       } 
      } 
     } 
    } 

    xhr.open("GET",url, true); ///fileUploadTester/FileUploader 

    xhr.send(formdata); 


    xhr.responseType = "arraybuffer"; 
    xhr.onload = function(e) { 


     var ua = window.navigator.userAgent; 
     var msie = ua.indexOf("MSIE "); 

     if (msie > 0) // If Internet Explorer, return version number 
     { 

      var urlIE = URL; 
      window.location = urlIE; 
     } 
     else 
     { 
      window.location = this.responseURL; 
     } 
    }; 
} 

上面的代碼是從我的javaScript方法,當我調用該方法我的要求是爲用戶下載文件。 在java中我有一種方法來生成文件,並將其添加到響應

對於其他瀏覽器,我可以調用該方法並獲得響應,但對於IE 11我無法做到。 任何解決這個或我的代碼中的任何錯誤?

回答

0

得到了答案我得到瀏覽器名稱的方式是錯誤的。 一旦我得到正確的瀏覽器名稱使用JavaScript它聲稱工作