Dropzone JS等到提交ajax表单并更改options.url

时间:2016-02-19 11:28:11

标签: javascript jquery ruby-on-rails ajax dropzone.js

我有raails应用程序和dropzonejs插件来上传图像。 我是在上传图片之前创建Album的。 然后我想将图片上传到新专辑。

Dropzone.options.myDropzone = {
  init: function() {
    this.on("processing", function(file) {
    # Performing album creation via $.ajax
    # $.ajax return ID of an album, but JS already skipped before I set new URL
    });
  }
};

我如何等待请求完成并将返回的ID正确设置为url选项?

1 个答案:

答案 0 :(得分:0)

在这种情况下你可以使用接受 -

Dropzone.options.myDropzone = {
  accept: function(file, done)
        {
            file.postData = {};
            $.ajax({
                url: '/album',
                data: {name: file.name, type: file.type},
                type: 'POST',
                success: function(response)
                {
                    file.album_id = response.album_id;
                    done();
                },
                error: function(response)
                {
                    done('error preparing the file');
                }
            });
        },
  init: function() {
    this.on("processing", function(file) {
      # Do other stuffs if needed
    });
  }
};

现在,dropbox将一直等到调用drop()。