我想使用 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);
}
);
}
结果.php 为每个请求返回一组表行,但它们不会以正确的顺序追加到表中。
如何让下一个 Ajax 请求等到第一个请求完成?
您需要同步调用,在您的情况下,它是异步调用的,这就是为什么它不能以正确的顺序附加。
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);