jQuery $ .ajax()関数は、成功するとpdfページのbase64値を返します。私は複数のbase64値を返さなければならないので、これを行う方法を考える唯一の方法は、$ .ajax()関数をループすることです。各成功が返されると、image64要素に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>
、アヤックスは非同期です。あなたはおそらく2つのソリューションを持っています:コールバック地獄または約束... – Badacadabra