Я пытаюсь реализовать метку с процентом загрузки с помощью ajax. Проблема в том, что после того, как xhr вернул 100%, это все равно занимает около 17 секунд, пока не будут готовы ReadyState == 4 и status == 200.XHR onProgress завершен
Я посылаю изображение (PNG/JPG) и строки с помощью FormData() объекта
<form onclick='send(this)'....
и функция:
function send(form){ var f = new FormData(form).......
Я использую следующий код для загрузки
if(xhr.upload) {
xhr.upload.onprogress = function(e) {
if (e.lengthComputable) {
var perc = Math.round((e.loaded/e.total) * 100);
var state = {
'done': e.loaded,
'total': e.total,
'percent': perc
};
progress(state);
}
};
}
старый способ ... если readystate! = 4 будет 99% – zod
Так это нормально? или я делаю что-то неправильно? –
его не нормально. Вы должны удовлетворять пользователя. это. если он фактически не закончился, и он показывает, что 100% это неверно. поэтому покажите 99% до конца. – zod