Я сделал индикатор выполнения, чтобы показать, насколько «прогресс» выполнен запросом XHR, но кажется, что он работает только с тем методом тестирования, который я использовал, который получил контент URL, а затем закодировал его в JSON - это было «GET»method.
function get_album_percent(token) {
var loadingDlg = document.getElementById('loadingDlg'),
loadingDlg_title = document.getElementById('loadingDlg_title'),
loadingDlg_bar = document.getElementById('loadingDlg_bar'),
xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
console.log(xhr.readyState);
if (xhr.readyState == 1) {
if (!loadingDlg.classList.contains('open')) {
loadingDlg.classList.add('open');
loadingDlg.classList.remove('close');
} else {
loadingDlg.classList.add('close');
loadingDlg.classList.remove('open');
}
loadingDlg_title.innerHTML = 'Getting Facebook albums...';
}
if (xhr.readyState == 3) {
console.log('3', xhr);
xhr.onprogress = function(event) {
console.log('onloadstart, response', event);
var percent = Math.round((event.loaded/event.total) * 100) + '%';
loadingDlg_bar.style.width = percent;
}
}
}
xhr.open('POST', 'http://mydomain.co.uk/api/facebook/get/userinfo.php?token=' + token);
xhr.send(null);
}
Однако, когда я использую метод, который я хотел первоначально использовать - который получал альбомы пользователей Facebook, фотографии и теги из параметра URL, а затем вставлял их в 3 таблицы с использованием PHP / MySQL - всеслучается, что готовится состояние готовности 1, затем 2, 3 и 4 запускаются в конце, после того, как произошел xhr.
Есть ли причина для этого?Есть какие-нибудь решения?
Спасибо, Адам С.