jquery ajax进度仅显示100%
我使用ajaxuploader.js上传图片 我使用以下代码获取ajax请求的进度: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
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
事件。