我想使用jQuery创建多个ajax请求,将表行附加到表中,但我想按顺序响应
for (i=0;i<5;i++) {
//variables tempString, start_value updated here after every loop iteration
$.post(
'results.php',
{start_value:start_value,tempString:tempString},
function(data3){
// alert(data3);
$('#data_table tbody tr:last').after(data3);
}
);
}
results.php 会为每个请求返回一组表行,但它们不会按正确的顺序附加到表中。
如何让下一个ajax请求等到第一个ajax请求完成?
答案 0 :(得分:0)
你需要同步调用,在你的情况下,它需要异步调用,这就是为什么它不按正确的顺序附加。
function doAsyncCall(i) {
if (i < 5) {
$.post(
'results.php',
{start_value:start_value,tempString:tempString},
function(data3){
$('#data_table tbody tr:last').after(data3);
doAsyncCall(i+1);
}
);
}
}
doAsyncCall(0);