Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.10.2012, 15:17
Интересующийся
Отправить личное сообщение для Oleg_Antonov Посмотреть профиль Найти все сообщения от Oleg_Antonov
 
Регистрация: 03.04.2009
Сообщений: 18

Получение ответа сервера после загрузки файла
Всем привет.
В ходе выполнения функции вызываю функцию загрузки файла на сервер (плагин AxajFileUploader). Сервер присылает ответ. Не получается этот ответ передать в первую функцию. Сейча примерно так:
function f1(){
ajaxFileUpload(var1, var2);

var ajaxresultdata = $('input#ajaxresult').val();
}

function ajaxFileUpload(var1, var2)
{
   $.ajaxFileUpload({
		url:'signfileupload.php',
		secureuri:false,
		fileElementId:var1,
		type: 'POST',
		dataType: 'json',
		data:{thumbrint: var2, fileelementname: var1},
		success: function (data, status)
			{
			if(typeof(data.error) != 'undefined')
			{
			if(data.error != '')
			{
			alert(data.error);
			$('input#ajaxresult').val('false');
			}else{
			$('input#ajaxresult').val(data.msg);
			}
			}
			},
		error: function (data, status, e)
		        {
		        alert(e);
		        $('input#ajaxresult').val('false');
		        }
		        }
		)
return;
}

Переменная ajaxresultdata остается пустой. Результать добавляется в input только после выполнения функции f1 полностью. Как получить ответ от сервера в переменную f1?
Ответить с цитированием
  #2 (permalink)  
Старый 23.10.2012, 20:38
Профессор
Отправить личное сообщение для Hoshinokoe Посмотреть профиль Найти все сообщения от Hoshinokoe
 
Регистрация: 08.01.2012
Сообщений: 253

Oleg_Antonov,

Процесс загрузки файла на сервер асинхронный, данные ответа от сервера будут доступны только в success - колбэке. Поэтому в success вы должны вызвать ваш метод и передать данные.

Примерно так:
function f1(){
ajaxFileUpload(var1, var2);
	 
//остальной код функции переносите в отдельную функцию
}

function onDataLoaded(data)
{
//здесь остальной код
}

function ajaxFileUpload(var1, var2)
{
   $.ajaxFileUpload({
   ...
   success: function (data, status)
   {
      ...
      onDataLoaded(data);
      ...
   }

Последний раз редактировалось Hoshinokoe, 23.10.2012 в 20:43.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление страницы после получения ответа от сервера potrashitel AJAX и COMET 9 24.02.2015 10:04
Получение ответа от сервера. kliver AJAX и COMET 14 25.06.2012 08:41
Не работает CSS после получения ответа сервера Azzi AJAX и COMET 17 04.10.2011 14:36
не закрывается DiV после загрузки в него файла sfumato jQuery 0 02.06.2011 21:05
Переодическое получение ответа от сервера demoniqus AJAX и COMET 6 22.06.2010 16:09