Полагаю, вы хотите создать цепочечный вызов вместо простого списка. То есть что вы получите сейчас:
$.post(...)
$.post(...)
...
$.post(...)
Вы бы хотели получить что-то вроде этого:
$.post(url1, function(data) {
setTimeout(function() {
$.post(url2, function(data) {
setTimeout(function() {$.post(url3)}, 500);
});
}, 500);
});
Имея то, что вы используете PHP для генерации кода JavaScript - не должно быть слишком сложно создавать такой код. Надеюсь, это поможет.
Редактировать : Попробуйте сгенерировать это так
$code = "%s";
foreach($sources as $source) {
$part = "$.post( '/adminator/menu/2zajezdy/tools/01otnXml/requests.php', { 'updateXML': '${source['id']}' }, function(data) {
setTimeout(function() {
%s
}, 500);
});"
$code = sprintf($code, $part);
}
$code = sprintf($code, '');