Получение ответа сервера после загрузки файла
Всем привет.
В ходе выполнения функции вызываю функцию загрузки файла на сервер (плагин 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? |
Oleg_Antonov,
Процесс загрузки файла на сервер асинхронный, данные ответа от сервера будут доступны только в success - колбэке. Поэтому в success вы должны вызвать ваш метод и передать данные. Примерно так: function f1(){ ajaxFileUpload(var1, var2); //остальной код функции переносите в отдельную функцию } function onDataLoaded(data) { //здесь остальной код } function ajaxFileUpload(var1, var2) { $.ajaxFileUpload({ ... success: function (data, status) { ... onDataLoaded(data); ... } |
Часовой пояс GMT +3, время: 09:54. |