Поочередное выполнение each ajax 
		
		
		
		Доброе время суток. Дорогие участники форума помогите. 
	Ка cделать так что бы: 1. Сначала выполнялась функция Each а потом только запрос ajax 
$(".add form").submit(function (z) {
        $(".idlength").each(function () {
            Выполняет функцию для каждого элемента набора.
        });
        Пока не закончиться выполнение не запускать Ajax.
        z.preventDefault();
        $.ajax({
          
         какой то код.
        });
    });
 | 
	
		
 Vital9, 
	Удобнее тогда делать аякс синхронным, а не ассинхронным, 
$.ajax({какие-то коды,async: false});
Тогда аякс запрос будет выполняться в теле функции, точно так же последовательно, как и обычные коды яваскрипт Минусы - если запросы долгие и считываемые страницы большие, событийные отклик бразера может отсутствовать до .5 секунды Обычно такой код запускают после полной загрузки страницы Не желательно запускать более 5-7 синхронных запросов друг за другом (см выше) Разбивать на 5-7 и запускать по таймеру с интервалом 2-3сек  | 
	
		
 Спасибо помогло. 
	Помогите Ещё. Можно как то что бы не передавать способом $("#sss").append а передать в какую то переменную и потом получить .html() Если можно бонус плюс(сократить код) 
$(".idlength").each(function (a) {
            var text = $(this).find("textarea[name='content']").val();
            var aFormData = new FormData();
            aFormData.append("img", $(this).find('#img').get(0).files[0]);
            $.ajax({
                type: "post",
                url: "/ajax/add/",
                data: aFormData,
                contentType: false,
                cache: false,
                async: false,
                processData: false,
                success: function (a) {
                    $("#sss").append('<p>' + text + '</p>');
                    var z = a.replace(/"([^"]*)"/g, '$1');
                    $("#sss").append('<p><img src="/media/1/' + z + '"></p>');
                }
            });
        });
 | 
	
		
 
function myAjax(link,Frm) {
   return $.ajax({type: "post",url:link,data:Frm,cache:false,async:false}).responseText;
}
$(".idlength").each(function (a) {
            var text = $(this).find("textarea[name='content']").val();
            var aFormData = new FormData();
            aFormData.append("img", $(this).find('#img').get(0).files[0]);
            alert('/media/1/'+myAjax("/ajax/add/",aFormData).replace(/"([^"]*)"/g, '$1'));
});
По идее, мон склaдывать полученное в некий стек - массив(вместо alert) 
var stack = [];
function myAjax(link,Frm) {
   return $.ajax({type: "post",url:link,data:Frm,cache:false,async:false}).responseText;
}
$(".idlength").each(function (a) {
            var text = $(this).find("textarea[name='content']").val();
            var aFormData = new FormData();
            aFormData.append("img", $(this).find('#img').get(0).files[0]);
            stack.push('/media/1/'+myAjax("/ajax/add/",aFormData).replace(/"([^"]*)"/g, '$1'));
});
alert(stack)
 | 
	
		
 Теперь alert(stack) выводит массив а преобразовать в строку можно как то? 
	Вроде нашел решение использовал: var str = stack.join(''); alert(str); Такое решение подойдет или есть получше?  | 
| Часовой пояс GMT +3, время: 14:46. |