Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Очередность в $.post (циклы) (https://javascript.ru/forum/jquery/25845-ocherednost-v-%24-post-cikly.html)

Kobain 17.02.2012 12:30

Очередность в $.post (циклы)
 
Всем привет. У меня есть задача по обработке огромного файла и занесения его данных в 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.


Часовой пояс GMT +3, время: 03:00.