Я повторяю ряд дат с помощью кода ниже. каждый раз я делаю запрос ajax и возвращаю xml-данные, которые затем вызывают функцию, чтобы отображать серию divs в строке на моей странице. Проблема в том, что мой цикл завершен до первого вызова ajax. Как я могу удерживать цикл for до тех пор, пока мой запрос и функция ajax не будут завершены? Любая помощь очень ценится! , спасибоfor loop .. wait for AJAX request
// Start of the loop for the date range selected
for(loopTime = startTime; loopTime <= endTime; loopTime += 86400000) {
// Produce the day from the date
loopDate=new Date(loopTime)
day = loopDate.getDate() ; if (day < 10) { day = "0" + day } ;
mon = loopDate.getMonth()+1 ; if (mon < 10) { mon = "0" + mon } ;
year = loopDate.getFullYear()
epDate = year + "-" + mon + "-" + day
// Run the XML Query ONCE ONLY
$.ajax({
type: "POST",
url: "php_assoc/jobs_today.php",
data: { OnThisDate : epDate },
dataType: "xml",
success:returnedXMLdata
});
}// for loop date
function returnedXMLdata(data) {
script ....
Аналого в AJAX расшифровывается asynchonous, то есть вызов выполняется и отключается самостоятельно и отвечает в части «обратного вызова» кода («успех»). Будьте ясны, что вам нужно здесь. –
Какая конкретная проблема возникает? Перегрузка сервера, потому что все звонки AJAX происходят сразу? – Alnitak
Обратный вызов создает строку divs, начинающуюся с даты (epDate). Проблемы состоят в том, что я получаю строку после строки той же даты, которая является последней датой в моем цикле for /. То, что я хочу достичь, аналогично к календарю со списком дат – Mick