我对 JS 不是很熟悉,并且对下一个任务感到困惑。
我有远程表单,但在发送数据之前我需要做一些操作(用数据填写表单输入)。这是我的代码:
$('.edit_slide').on('ajax:beforeSend', function(event, xhr, settings) {
html2canvas($('.slide_canvas'), {
onrendered:
function(canvas) {
var img = canvas.toDataURL("image/png");
$('#slide_thumbnail').val(img);
}
});
});
表单 ajax 来自:https ://github.com/rails/jquery-ujs/wiki/ajax 。
接下来,我需要使用 html2canvas ( http://html2canvas.hertzen.com/documentation.html ) 从 DIV 创建图像并将其传递给服务器。
但是首先发送表单,然后完成 html2canvas(表单提交时使用空白 #slide_thumbnail 并在之后填写数据)。
如果我把 alert('hello') 放在这里而不是 html2canvas,alert 会首先工作,它正在等待我按下“Ok”并在之后提交表单。
是否可以等待图像被创建并在之后发送?