Как предлагается здесь: https://gist.github.com/HenrikJoreteg/2502497, я пытаюсь добавить функцию onprogress к моей загрузке файла jQuery.ajax()
. Загрузка выполняется нормально, а событие onprogress запускается, но не так, как я ожидал - вместо того, чтобы многократно срабатывать через некоторый промежуток времени, он запускается только один раз, когда загрузка завершена. Есть ли способ указать частоту обновления onprogress? Или я пытаюсь сделать что-то, что нельзя сделать? Здесь мой код:
$.ajax(
{
async: true,
contentType: file.type,
data: file,
dataType: 'xml',
processData: false,
success: function(xml)
{
// Do stuff with the returned xml
},
type: 'post',
url: '/fileuploader/' + file.name,
xhrFields:
{
onprogress: function(progress)
{
var percentage = Math.floor((progress.total / progress.totalSize) * 100);
console.log('progress', percentage);
if (percentage === 100)
{
console.log('DONE!');
}
}
}
});