Показать сообщение отдельно
  #1 (permalink)  
Старый 22.03.2012, 00:08
Профессор
Отправить личное сообщение для SunYang Посмотреть профиль Найти все сообщения от SunYang
 
Регистрация: 22.02.2008
Сообщений: 189

Передать в ajaxupload данные в формате json ?
сделал загрузчик файлов с помощью библиотеки Ajax-Upload.

На стороне клиента скрипт:

</script>
$(document).ready(function() {
    $('#imgloader').hide();
 
    // ajax uload >>
    new AjaxUpload('upload_button', {
                    action: 'upload.php',
                    name: 'userfile',
                    onSubmit: function(file, extension) {
                        $('#imgloader').show();
                        $('#upload_button').text('Загрузка...');
                        this.disable();
                        },
                    onComplete : function(file, response) { //onComplete
                        $('#imgloader').hide();
                        $('#upload_button').text('Загрузить');
                     
                            if(response==="success"){
                        $('#info').text("Fail zagrugen");
                        $("<br><b>" + file + "</b>").appendTo("#filename");
                        this.enable();
                                                    }
                                                    else { $('#info').text("Oshibka zagruzki"); }
                                               
                    }//onComplete
               
    });
    // << ajax uload
 
 
});
</script>


<div id="info"></div><br />
<img src="ajax-loader.gif" id="imgloader" /><div id="upload_button">Загрузить изображение</div><br />
 
Загружен файл: <div id="filename"></div>


при удачной загрузке php скрипт отправляет:
echo "success";
а при ошибке echo "error";

Тобишь onComplete принимает только два ответа сервера: "success" (при удачном выполнении) и "error" (при неудачном)

НО:
мне надо передать от сервера не только "error" или "success" а несколько данных.

Для этого я в php скрипте отдаю данные в формате JSON:

$arr = array('a' => $perem, 'b' => array('aa' => 'massiv v massive <br> Dannie v formate JSON iz upload.php'), 'c' => 3, 'd' => 4, 'e' => 5);
 
echo json_encode($arr);


НО как принять JSON в AjaxUpload ? Где указать формат передаваемых данных от сервера?
Ответить с цитированием