2017-03-01 82 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它声称工作

相关问题