我有一个jQuery $ .ajax()函数返回一个base64值,这是成功的pdf页面。我必须返回多个base64值,所以我能想到如何做到这一点的唯一方法是循环访问$ .ajax()函数。当每次成功返回时,我都会将base64值写入图像元素。这工作正常。问题是,因为它是异步的,它不一定会按顺序返回页面。 我知道这不是最好的方法,但是如果我总是会有不同的值,那么这是页数呢?
for (i = 1; i <= pdfPageCount; i++) {
$.ajax({
type: 'POST',
contentType: 'application/json',
url: 'Page.aspx/Method',
dataType: 'json',
error: function (err) {
alert('Error: ' + err);
},
success: function (resultStr) {
//alert('Page: ' + i);
var sigImage = document.createElement("img");
sigImage.setAttribute('src', 'data:image/png;base64,' +
resultStr.d);
document.getElementById("imgId").appendChild(sigImage);
},
});
} // end the for loop
的HTML只是有一个div:
<form id="form1" runat="server">
<div id="imgId">
</div>
</form>
根据定义,阿贾克斯是异步的。你可能有两个解决方案:回调地狱或承诺... – Badacadabra