jquery ajax进度仅显示100%

jquery ajax进度仅显示100%,jquery,ajax,file-upload,progress-bar,progress,Jquery,Ajax,File Upload,Progress Bar,Progress,我使用ajaxuploader.js上传图片 我使用以下代码获取ajax请求的进度: jQuery(function($) { $.ajaxUploadSettings.name = 'uploads[]'; $('#pic-upload-area').ajaxUploadPrompt({ type: 'POST', url: "myUrl", beforeSend: function() { // do s

我使用ajaxuploader.js上传图片

我使用以下代码获取ajax请求的进度:

 jQuery(function($) {
    $.ajaxUploadSettings.name = 'uploads[]';
    $('#pic-upload-area').ajaxUploadPrompt({
        type: 'POST',
        url: "myUrl",
        beforeSend: function() {
           // do sth
        },
        error: function(data) {
           // do sth
        },
        success: function(data) {
            // do sth
        },
        xhrFields: {
            onprogress: function(progress) {
                var percentage = Math.floor((progress.total / progress.totalSize) * 100);
                console.log('progress', percentage);
                if (percentage === 100) {
                    console.log('DONE!');
                }
            }
        },
    });
});
似乎是可行的,在ende中它记录了“进程100”和“完成!”


但是0到100之间的百分比是什么呢?似乎eventlistener工作不正常,激发evry x ms并获取当前上载百分比。

可能您的上载足够短,以至于在出现任何百分比显示之前就完成了。我遇到了这个确切的问题,并在此处找到了答案[是否可以使用xhrFields将onprogress功能添加到jQuery.ajax()中?][1][1]:我也有同样的问题。最后我发现原因是我使用的是本地服务器,所以它上传文件的速度太快,无法触发多个
onprogress
事件。