景描述ajax接收的数据类型既有blob类型也有text时,不同的类型做不同的处理。如,当下载文件、图片等信息时候,需要字节流responseType = 'blob',同时,如果后台有出错信息需要前台展示,此时需要字符类型responseType = 'text'。两个类型不能同时存在。

解决方案都用blob类型接收,然后将blob类型转text类型

   var blob = xhr.response;  //xhr.response -->blob 数据源
      if(blob.size < 100) {      //此处是用来区分后台的数据源是文件、图片流,还是我们的告警信息,(如果是告警信息,size会很短)
        var fr = new FileReader(); //FileReader可以读取Blob内容  
        fr.readAsText(blob); //二进制转换成text
        fr.onload = function (e) {  //转换完成后,调用onload方法
          var result = fr.result;  //result 转换的结果
        }
      }