我试图在循环xhr请求中调用ajax但是ajax结果只产生了最后一个......或者只是一次..
function base64ToImage(base64data,ctr) {
$.ajax({
method: "POST",
url: "ConvertB64",
async: false,
data: {
base64datastring: base64data, imgctr: ctr
},
success: function (data) {
console.log(data);
}
})
.done(function (msg) {
console.log(msg);
});
}
这里是ajax
driver.findElement(By.Name("button_click")).click();
所以我要做的是......我正在将一个对象url转换为blob然后传递该blob以转换为图像然后我返回我的img标记的图像位置。
在xhr一侧的我能够很好地获得blob数据,但转换为图像只发生一次。它是最后一个blob。
我正在使用mvc。我尝试创建一个像xhr [ctr]这样的阵列xhr,我还添加了asynch:false。
感谢
答案 0 :(得分:0)
我认为问题是你的ctr
变量正在被循环的所有再现共享,并且总是等于该循环中的最终值。尝试使用传递到.each()
函数的索引:
$("#txtArea").contents().find('img').each(function (i) {
...
...
base64ToImage(base64data, i+1); //index starts with 0 so adding 1
});
答案 1 :(得分:0)
尝试使第一个ajax请求同步并检查.....因为你同时发送了多个ajax请求,所以没有订购响应,这可能是问题