Вход

Просмотр полной версии : Очередность в $.post (циклы)


Kobain
17.02.2012, 12:30
Всем привет. У меня есть задача по обработке огромного файла и занесения его данных в MySQL. Чтобы не нагружать сервер, я сделал обработчик через jQuery, разбив задачу на множество однотипных шагов. Данные отправляю в формате:


var file = $('input[name="file"]').val();
var rows = $('input[name="rows"]').val();
var step = $('input[name="step"]').val();
var steps = $('input[name="steps"]').val();
var current_step = 0;

$.post("/ajax/csv_processing.php", { file:file, rows:rows, step:step, steps:steps, current_step:current_step }, function(data) {
$('#results').append(data + "<br>");
});


Хотел было сделать цикл, но ему по барабану на успешность Пост запроса.

Короче говоря ... Как сделать так, чтобы $.post запускались циклически, если есть success?

Если криво написал, не обижайтесь - мозг уже от работы опухший. И руки не слушаются)

sysya
17.02.2012, 18:33
Передавайте массив данных, или музыку в бд храните?

melky
17.02.2012, 19:40
проще всего :

function *!*upd()*/!*{
var file = $('input[name="file"]').val();
var rows = $('input[name="rows"]').val();
var step = $('input[name="step"]').val();
var steps = $('input[name="steps"]').val();
var current_step = 0;

$.post("/ajax/csv_processing.php", { file:file, rows:rows, step:step, steps:steps, current_step:current_step }, function(data) {
$('#results').append(data + "<br>");
*!*
upd();
*/!*
});

};
*!*upd();*/!*


функция будет выполняться сразу после того, как придёт и обработается ответ ajax. отсрочить её выполнение можно в красной строчке, с помощью setTimeout.