как синхронно выполнить запросы в Jquery?

Статус
В этой теме нельзя размещать новые ответы.

dandandan

Мой дом здесь!
Регистрация
7 Авг 2008
Сообщения
1.036
Реакции
293
Написал скрипт:
PHP:
<script type="text/javascript" >
//alert('123');
function begin_upload_files(allIDimage){
	//alert (allIDimage);
	var IDimage = allIDimage.split("_");
	for (var i in IDimage) {	   
	   // работаем с IDimage[i]		
	   $('#formaid'+IDimage[i]).html('<img src="../../images/loading.gif" width="32" height="32" alt="Загрузка файла..." /> Началась загрузка файла.');
		sendPost(IDimage[i]);
			 
	}
}

function sendPost(IDImageIS){
	
 $.ajax({
	  type: "POST",
	  contentType: "application/json; charset=utf-8",
	  url: "scripts/copyFrom.php?id="+IDImageIS+'&Filedata='+$('a#fileid'+IDImageIS).attr('href'),
	  data: {},
      dataType: "json",
	  success:
	   function(data){
			$('#formaid'+data.id).html(data.error);
			//код обработки успешного вызова веб-метода
			},	
	  error:
	   function(XMLHttpRequest, textStatus, errorThrown){			
			alert(textStatus);
			},
	 async:false,
	 complete: function(XMLHttpRequest, complete){	
	 		if (complete=='seccess'){		
				alert('bla'+IDImageIS);
				}
			},
	timeout: '1000',						 			
		 });	
	}

</script>

Скрипт получает id файлов на сервере из папки и перебором отправляет пост запросы на их пережатие. Устроило бы и асинхронное пережатие, но боюсь хостинг ляжет.

В результате получается, что файлы с ошибками никак не реагируют error не работает.
Многие файлы подвисают с этой строкой
PHP:
$('#formaid'+IDimage[i]).html('<img src="../../images/loading.gif" width="32" height="32" alt="Загрузка файла..." /> Началась загрузка файла.');
Соответсвенно не понятно синхронно или нет передаются данные.
Пробывал вставить в error alert () - ничего не дает.
 
А потому, что твой скрипт-обработчик работает мало времени (В ПХП по умолчанию 30сек, потом прерывание). И до генерации json'а дело не доходит. Увеличь время работы скрипта ( в ПХП это ini_set("max_execution_time", 0) для бесконечности). Это если хостер позволит. А если нет то в phpinfo посмотри это максимальное время max_execution_time и пляши от него.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху