Я не знаю почему, но мой Javascript очень медленный и занимает около пяти минут, чтобы закончить правильно, вы иногда обновляете страницы, а некоторые запросы не обрабатываются.Запрос Ajax чрезвычайно медленный
Я уже использовал async: правда надеется, что он обработает немного быстрее, но это не так. Вот код, который я использую для сохранения каждого элемента внутри #myspace.
cn = document.getElementById("myspace").childNodes;
for (var t = 0; t < cn.length; t++) {
if (cn[t].nodeType == 1) {
var n = {
id: cn[t].id,
left: cn[t].style.left,
top: cn[t].style.top
};
$.ajax({
data: n,
url: "/Application/Ajax/__ajaxProfile.php?a=SavePosition",
type: "post",
cache: true,
async: true,
success: function (e) {}
})
}
}
e("Please wait for everything to save, it might take more than a minute.");
setInterval(function() {
if ($.active == 0) {
$('#close-modal').show();
}
}, 10);
Кто-нибудь знает, почему это было обработано так медленно и достойное решение для этого?
Вы показываете свой «близкий модальный» каждые 10 миллисекунд. Кажется немного чрезмерным. –
Вы имели в виду 'setTimeout' вместо' setInterval'? Это может блокировать поток. Else: сколько дочерних элементов имеет '# myspace' и насколько быстро реагирует сервер на запрос (проверьте его в инструментах разработчика)? – RoryKoehein
Я сделал это, чтобы показать его, когда все запросы ajax были закончены, даже без этого он обрабатывается очень медленно. Изменить: чем меньше дочерних элементов, тем быстрее они обрабатываются, я не знаю, связано ли это с тем, что я делаю запрос для каждого узла или что-то еще. – Denis