我需要将图像从一个目录保存到另一个目录,并且我陷入了无限循环



这是为了在画布中进行图像处理,我将一个像模型一样的图像放在其他来自目录的图像上,但不知何故,我创建了一个无限循环......那我是怎么搞砸的呢?

function SaveAjax(dataURL){
  window.setInterval(function(){
    $.ajax({
      type: "POST",
      url: "saveImage.php",
      data: { 
         imgBase64: dataURL
      }
    }).done(function(o) {
      // console.log('saved');
    });
  })
}
function loadFile(f) {
    var reader = new FileReader();
    reader.onloadend = function () {
        var arte = new Image();
        arte.crossOrigin = "anonymous";
        arte.onload = function(){
            context.drawImage(arte, 0, 0, 1200, 1200)
            var dataURL = canvas.toDataURL("image/png");
            SaveAjax(dataURL);
        }
        arte.src = reader.result;
        // images.push({
        //     name : f.name, // use whatever naming magic you prefer here
        //     image : reader.result
        // });
    };
    reader.readAsDataURL(f);
}
$(":file").change(function(event) {
    var files = this.files;
    for (var i = 0; i < files.length; i++) {
        loadFile(files[i]);
    }
})
window.setInterval是一个

函数,它将每设定的毫秒数调用您提供的任何内容。您拨打的每个SaveAjax()电话都会重复,我相信每 1 毫秒一次,使用相同的数据。将其更改为 window.setTimeout这将在设定的毫秒数后仅运行一次 ajax 请求。

最新更新