Есть js дропзоны, но нет бэкенда, но отправляется при этом xhr, изображение выводится, как превью.
Повесил id на input, никак не реагирует на change, также через formdata пытался - пустые данные выводит. В $_POST ничего не уходит, либо как сейчас получаю "Cannot read properties of undefined (reading '0')"
<form action="#" class="dropzone" id="js-form" enctype="multipart/form-data" method="POST">
<div class="fallback">
<input name="file" id="js-file" type="file"
>
</div>
<div class="dz-message needsclick"><center>
<div class="mb-3">
<i class="display-4 text-muted bx
bx-cloud-upload"></i>
</div>
<h5>Перетащите или выберите для загрузки.</h5></center>
</div>
</form>
</div>
<div class="text-center mt-4">
<button type="button" name="submit" id="upload_start_btn" class="btn btn-primary
waves-effect waves-light">Загрузить</button>
</div>
<script>
Dropzone.autoDiscover = false;
$(document).ready(function () {
$(".dropzone").dropzone();
});
</script>
<script>
$('#upload_start_btn').on('click', function() {
var file_data = $('#js-file').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
alert(form_data);
$.ajax({
url: 'ajax/file.php',
dataType: 'text',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post',
success: function(php_script_response){
alert(php_script_response);
}
});
});
<?php
if ( 0 < $_FILES['file']['error'] ) {
echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else {
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']);
}
?>
Как побороть и куда копать?