Jquery Ajax回调更新最后引用的元素
我有一个仪表板对象数组要添加到页面中,但我发现JavaScript通过该数组的速度远远快于Ajax端点的响应速度,因此所有回调都会尝试更新最后的元素 循环:Jquery Ajax回调更新最后引用的元素,jquery,ajax,callback,Jquery,Ajax,Callback,我有一个仪表板对象数组要添加到页面中,但我发现JavaScript通过该数组的速度远远快于Ajax端点的响应速度,因此所有回调都会尝试更新最后的元素 循环: for(i=0,l=dashboards.length;i我还没有测试过这一点,但我相信它会起作用。您需要链接回调,以便在前一个ajax请求的回调被触发后,i才会增加 for( i=0, l=dashboards.length; i<l; i++ ){ $("#dashboard-container").app
for(i=0,l=dashboards.length;i我还没有测试过这一点,但我相信它会起作用。您需要链接回调,以便在前一个ajax请求的回调被触发后,i才会增加
for( i=0, l=dashboards.length; i<l; i++ ){
$("#dashboard-container").append(template(dashboards[i]["templateargs"]));
var cur_id = dashboards[i]["templateargs"]["dashboard-id"];
var chart = $("#"+cur_id+"-chart");
var table = $("#"+cur_id+"-table tbody");
}
start_ajax_chain(0,dashboards.length,dashboards);
function start_ajax_chain(i,l,dashboards){
if(i<l){
$.ajax({
type: "GET",
url: dashboards[i]["ajaxurl"],
error: function() { alert('AJAX error'); },
success: function(data){
callback = dashboards[i]["callback"];
callback(data);
i++;
start_ajax_chain(i,l,dashboards);}
});
}
}
for(i=0,l=dashboards.length;i您需要在回调中定义chart-chart\u选项
和table
。否则,您只需引用上一个chart-chart\u选项
和table
。
function(data) {
$.plot(chart, data, chart_options);
for(i=0;i<data.length;i++) {
table.append("<tr><td>"+data[i]['label']+"</td><td>"+data[i]['data']+"</td></tr>");
}
}
for( i=0, l=dashboards.length; i<l; i++ ){
$("#dashboard-container").append(template(dashboards[i]["templateargs"]));
var cur_id = dashboards[i]["templateargs"]["dashboard-id"];
var chart = $("#"+cur_id+"-chart");
var table = $("#"+cur_id+"-table tbody");
}
start_ajax_chain(0,dashboards.length,dashboards);
function start_ajax_chain(i,l,dashboards){
if(i<l){
$.ajax({
type: "GET",
url: dashboards[i]["ajaxurl"],
error: function() { alert('AJAX error'); },
success: function(data){
callback = dashboards[i]["callback"];
callback(data);
i++;
start_ajax_chain(i,l,dashboards);}
});
}
}