leshikgo
@leshikgo

Как должен отработать код?

Здравствуйте. Помогите разобраться с кодом. Есть отправка изображения:
Dropzone.autoDiscover = false;
            var dzone = new Dropzone('#dropzoneuploader', {
                url: 'http://axblue.ru/custom/upload.php',
                method: 'post',
                acceptedFiles: "image/*",
                maxFilesize: 5,
                maxFiles: 1,
                sending: function(file, xhr, formData){
                  current_file = file;
                  formData.append('uniquecode', '989dd2');
                  //console.log('formdata appended with uniquecode:989dd2');
                },
                success: function(file, response){
                  console.log('Response uploadimage : '+response);
                  current_filedatas = JSON.parse(response);
                  console.log('upload success..Filedatas:'+JSON.stringify(current_filedatas));
                  var reader = new FileReader();
                  reader.onload = function(event){
                    change_image(event.target.result);
                    //console.log('local file finished read');
                  }
                  reader.readAsDataURL(file);
                  //console.log('after starting readData As url');
                }
              });

Для чего здесь current_filedatas = JSON.parse(response); ?
hidden_imgupload_filename.val(current_filedatas.filename);
                    hidden_imgupload_filepath.val(current_filedatas.filepath);

Не было самого скрипта php. Я набросал
<?php
$ds          = DIRECTORY_SEPARATOR;  //1

$storeFolder = 'uploads';   //2

if (!empty($_FILES)) {

    $tempFile = $_FILES['file']['tmp_name'];          //3

    $targetPath = dirname( __FILE__ ) . $ds. $storeFolder . $ds;  //4

    $targetFile =  $targetPath. $_FILES['file']['name'];  //5

    move_uploaded_file($tempFile,$targetFile); //6

}
?>

Если убрать строку current_filedatas = JSON.parse(response); то файл на сервер отправляется, если же с этой строкой, то загрузка идет но в конце повисает с ошибкой Uncaught SyntaxError: Unexpected end of JSON input .
Извините скорее всего за тупой вопрос. Но хочу сам разобраться что и как. Спасибо
  • Вопрос задан
  • 170 просмотров
Решения вопроса 1
@nikosias
current_filedatas = JSON.parse(response); Означает что ответ вам приходит в формате JSON
используйте json_encode (php.net/manual/ru/function.json-encode.php) когда возвращаете результат работы скрипта.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
SPAHI4
@SPAHI4
реактовцы - это не девы, а прокидыватели пропсов
Посмотрите, что отдает сервер. Это можно сделать во вкладке Network в консоли
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы