Я пытаюсь отправить через dropzone конкретный идентификатор уже известной позиции ID файла изображения на бэкэнд, который будет загружен на сервер. Хотя используется formData.append()
, я вижу, что ничего не добавлено. FormData {}
этого FormData {}
только этот « FormData {}
».
dropzoneObject.on("sending", function(file, xhr, formData){ var nameOfFile = $(file.previewElement).find(".dz-filename").text(); var positionOfFile = fpos; //console.log("The file who's being sent is named: "+nameOfFile+" and its position id is: "+positionOfFile); formData.append("fpos", fpos); });
Я ожидаю увидеть в примере fpos = 16;
Не знаю о вашей конкретной ошибке, но вот простой пример того, как отправлять дополнительные данные с dropzone с помощью jQuery и получать его с php на бэкэнд.
HTML:
<form id="myForm" class="dropzone"></form>
ЯШ:
Dropzone.autoDiscover = false; $('.dropzone').dropzone ({ url: "upload.php", init: function() { this.on("sending", function(file, xhr, formData){ formData.append("fpos", 777) }), this.on("success", function(file, xhr){ alert(file.xhr.response); }) }, });
Событие успеха – это только демонстрация того, как получить доступ к ответу с сервера:
PHP:
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { echo "RECEIVED ON SERVER: \n"; echo "FILES: \n"; print_r($_FILES); echo "\$_POST: \n"; print_r($_POST); }
Php просто отправляет клиенту те же полученные данные, чтобы показать, где это доступно.
Вы можете увидеть, как он работает при запуске, нажав кнопку «Запустить»: http://code.runnable.com/VgkwAD2bbfYmAoWl/send-additional-data-dropzone-for-php