XMLHttpRequest不适用于IE 11进行文件下载

时间:2017-03-01 17:25:52

标签: javascript xmlhttprequest

var formdata = new FormData();

    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,我无法做到。 我的代码中有这个或任何错误的任何解决方案?

1 个答案:

答案 0 :(得分:0)

得到答案我获取浏览器名称的方式是错误的。 一旦我使用javascript获得正确的浏览器名称,它就说明了工作