上传后监控Dropzone.js proccess文件并监控进度

时间:2017-09-25 15:01:42

标签: jquery ajax dropzone.js

标题说明了一切,我需要监控数据处理进度。例如,我对MySQL进行了一些分块插入并在每个块之后回显进度,如何在前端打印进度?我正在使用Dropzone.js,我目前的JS代码是(简化版本):

Dropzone.options.importdropzone = {

                init: function() {

                    // I need something like
                    this.on("backendProccessing",function(response){
                      return response
                    })

                    this.on("success", function(file, response) {
                        // Success only return after backend finish process
                    })

                }
            };

也尝试过(不起作用,没有返回,只有成功):

this.on('xhr',function(){

  // get the native XmlHttpRequest object
  var xhr = $.ajaxSettings.xhr() ;
  // set the onprogress event handler
  xhr.onprogress = function(evt){ console.log('Doing') } ;
  // set the onload event handler
  xhr.onload = function(){ console.log('DONE!') } ;
  // return the customized object
  return xhr ;

});

所以我需要这样的东西:

this.on("backendProccessing",function(response){
  return response
})

1 个答案:

答案 0 :(得分:0)

它的接缝是不可能的,我需要稍微改变后端。 所以我在后端创建了另一个监视当前进度的方法,进度设置为bu session,所以我需要2个AJAX cals,1个用于上传ant start proccessing文件,另一个用于检查状态。

对于例子,处理网址为http://example.com/import 状态检查http://example.com/import/status

我可以检查状态,直到它返回特定值,例如

{
  "status":"done"
}

我在

中每1秒调用一次检查状态功能
this.on('sending',function() {
  // calling another ajax here every x sec.
}