我的页面中有一个案例,我有六个小部件(即 div),每个小部件在不同的时间间隔调用一个 ajax 函数(一个 div 间隔可能是 20 秒,另一个是 30 秒)。从服务器获取结果后,我将更新相应的面板。这是处理这种情况的最佳方法。为每个面板保留六个不同的 javascript 计时器是否是一个好习惯(例如:像 setInterval、setTimeout)。如果没有,最好的处理方法是什么这种情况。
问问题
120 次
1 回答
2
解决方案:
duration = 20;
(function getMoreData(divIndex) {
console.log("Process First");
// Get ajax data for first div
$.ajax({
url: url1,
dataType: 'json',
data: "",
timeout: 5000,
success: function(data) {
dataFlag[divIndex]= true;
// Process data...
// Update "div 1"
},
error: function() {
dataFlag[divIndex]= true;
// Process error
}
});
// Second div
console.log("Process Second");
// Get ajax data for second div
$.ajax({
url: url2,
dataType: 'json',
data: "",
timeout: 5000,
success: function(data) {
dataFlag[divIndex]= true;
// Process data...
// Update "div 2"
},
error: function() {
dataFlag[divIndex]= true;
// Process error
}
});
// Third div
console.log("Process Third");
// Get ajax data for second div
$.ajax({
url: url3,
dataType: 'json',
data: "",
timeout: 5000,
success: function(data) {
dataFlag[divIndex]= true;
// Process data...
// Update "div 3"
},
error: function() {
dataFlag[divIndex]= true;
// Process error
}
});
setTimeout(getMoreData, (duration * 1000));
})()
于 2013-01-04T06:18:12.173 回答