使用XMLHttpRequest处理异步请求返回的图片等二进制文件
Posted 南极烧烤铺—
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用XMLHttpRequest处理异步请求返回的图片等二进制文件相关的知识,希望对你有一定的参考价值。
封装的Ajax没有接受文件的类型 所以要用传统的 XMLHttpRequest来处理
function ShowPdf() {
var url = "/ChannelLiquidation/ShowPdf.ashx?PdfName=<%=PdfName %>&pdfFolder=<%=PdfFolder %>";
var xhr = null;;
if (window.XMLHttpRequest) {// code for IE7, Firefox, Opera, etc.
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject) {// code for IE6, IE5
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
if (xhr != null) {
xhr.onreadystatechange = false;
xhr.open(‘GET‘, url, true);
xhr.responseType = "blob";
xhr.setRequestHeader("client_type", "DESKTOP_WEB");
xhr.setRequestHeader("desktop_web_access_key", Math.random().toString());
xhr.onload = function () {
if (this.status == 200) {
var blob = this.response;
var img = document.createElement("img");
img.onload = function (e) {
window.URL.revokeObjectURL(img.src);
};
img.src = window.URL.createObjectURL(blob);
img.style.cssText = "width: 90%; float: left";
img.setAttribute("onerror","this.src=‘../Assets/img/notBill.jpeg‘");
$("#div_imgcontainer").html(img);
}
}
xhr.send();
}
}
$(function () {ShowPdf();})
以上是关于使用XMLHttpRequest处理异步请求返回的图片等二进制文件的主要内容,如果未能解决你的问题,请参考以下文章
PHP. 02®. Ajax异步处理常见的响应状态XMLHttpRequest对象及APIajax的get/post方法