我使用下面的代码迭代了一系列日期。每次我发出一个ajax请求并返回xml数据,然后调用一个函数在页面上的一行中显示一系列div。问题是我的循环已经完成,甚至在第一次ajax调用之前,我怎样才能保持for循环,直到我的ajax请求和函数完成?任何帮助非常感谢! ,谢谢for循环..等待AJAX请求
// 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中的A代表asynchonous,这意味着调用执行并自行关闭,并在代码的“回调”部分回答(“成功”)。清楚你在这里需要什么。 – 2013-03-08 16:17:27
这造成了什么特别的问题?服务器重载,因为AJAX调用都是同时发生的? – Alnitak 2013-03-08 16:18:04
该回调创建一个从日期(epDate)开始的div行,问题是我在同一日期的行之后行,这恰好是我for循环中的最后一个日期/,我想实现的是类似的到具有日期列表的日历 – Mick 2013-03-08 16:23:46