Я запрашиваю у сервера имена из учителя таблицы и ответ, который я получаю, в порядке, но массив Учителей в приведенном ниже коде не может быть доступен из другой функции, показывающей Teachers.length = 0 .Это вызвано из-за какой-то задержки обработки XML-запроса, пожалуйста, объясните, спасибо.массив из XML-запроса не является глобальным
document.onreadystatechange = function() {
if (document.readyState === "complete") { // PAGE HAS BEEN LOADED
Teachers = [];
var object = [];
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (request.readyState === XMLHttpRequest.DONE) {
if (request.status === 200) {
object = JSON.parse(request.responseText);
for(var i = 0 ; i < object.length; i++){
Teachers.push(object[i].name.toString());
console.log("*" + Teachers.length);
}
}
console.log(Teachers.length);
}
};
request.open('GET', 'http://localhost:3000/names', true);
request.send(null);
CreateRow();
for(var i = 0; i < absentTeachers.length; i++){
PrepareRow(i, "row"+(i+1));
}
}}
функция, такая как CreateRow использует учитель, но его показ, чтобы быть пустыми, но когда я протоколирование длиной Учителя в функции обработки запросов ее показывает изменения.
Спасибо, что вам помогли. –
Не могли бы вы проголосовать за мой ответ и пометить свой вопрос как ответ, если это поможет? – Falk