witam
Napisałem poniższy kod, który ma zmieniać wartości progress bara w zależności od wysłania/pobrania:
var download = document.querySelector("#download"),
upload = document.querySelector("#upload"),
xhr = new XMLHttpRequest(),
formDat = new FormData();
xhr.onreadystatechange = function (e) {
if (this.readyState === 4) {
if (this.status === 200) {
console.log("Odebrano z serwera " + this.response);
} else {
console.log("Nie odebrano poprawnie danych z serwera");
}
}
};
xhr.upload.onprogress = function (e) {
if (e.lengthComputable) {
var percent = (e.loaded / e.total) * 100;
upload.value = percent;
} else {
console.log("Upload nie działa");
}
}
xhr.onprogress = function(e) {
if (e.lengthComputable) {
var percent = e.loaded / e.total * 100;
download.value = percent;
} else {
console.log(e.lengthComputable);
}
};
xhr.open("POST", "Home/Show", true);
formDat.append("nazwisko", "Rynkowski");
formDat.append("imie", "Ryszard");
xhr.send(formDat);
I niestety mam problem przy wykonywaniu zdarzenia pobierania informacji z serwera, gdyż argument eventu onprogress zawsze daje mi wartość lengthComputable = false, przez co nie może być 'wyliczany'.
Ogólnie żądanie wysyłane jest do akcji kontrolera, która zwraca prosty Content (dokładnie zwykłego stringa).
Czy moglibyście mi pomóc, gdyż nie wiem za bardzo co robię źle ?