使用XMLHttpRequest导出excel

问题描述

使用XMLHttpRequest导出excel,但responseType有可能是blob,或者是json

相关代码

    var xhr = new XMLHttpRequest();
    xhr.open('get', url, true);
    xhr.responseType = "blob"; // 返回类型blob  blob 存储着大量的二进制数据
    xhr.onload = function () {        console.log(xhr)        if (this.status === 200) {            var blob = this.response;            var reader = new FileReader();
            reader.readAsDataURL(blob); // 转换为base64,可以直接放入a标签href
            reader.onload = function (e) {                var a = document.createElement("a"); // 转换完成,创建一个a标签用于下载
                a.download = name + ".xls";
                a.href = e.target.result;
                $("body").append(a); // 修复firefox中无法触发click
                a.click();
                $(a).remove();
            };
        }
    }
    xhr.send(); // 发送ajax请求


PIPIONE
浏览 1629回答 1
1回答

森林海

xhr.getResponseHeader("Content-Type")//查看返回类型 如果是json 把blod转string再转json
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript