Передать в ajaxupload данные в формате json ?

sunyang

Мастер
Регистрация
25 Апр 2009
Сообщения
440
Реакции
30
сделал загрузчик файлов с помощью библиотеки Ajax-Upload.

На стороне клиента скрипт:
HTML:
</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:

PHP:
$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 ?
 
А парсить функциями jquery пробовали: Для просмотра ссылки Войди или Зарегистрируйся ?
узнал. это решается намного проще: responseType: "json"
обращение к содержимому в таком случае будет: alert(response.b.aa)
в объекте будет содерзаться значение из массива в php 'massiv v massive <br> Dannie v formate JSON iz upload.php'
 
Назад
Сверху