我想使用xhr.responseType =' arraybuffer'来处理错误,这会返回二进制类型,因此我得到控制台错误:"只有当responseType为'时才会提供responseText #39;,'文档'或' moz-chunked-text'。"
var xhr = new XMLHttpRequest();
xhr.open('POST', 'URL', true);
xhr.responseType = 'arraybuffer';
xhr.onload = function(e) {
if (this.status == 200) {
var blob=new Blob([this.response], {type:"application/pdf"});
var pdfurl = window.URL.createObjectURL(blob);
window.open(pdfurl);
} else {
console.log(xhr.responseText);
}
};
xhr.onerror = function(e) {
};
xhr.send();
服务器端异常抛出
} catch (ApplicationException ae) {
log.error(Util.logarErro(ae));
response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
response.getWriter().append(ae.getMessage());
throw ae;
服务器端返回response.getOutputStream()。write(byte [] file);用二进制文件。