Не отправляются файлы с формы через скрипт AJAX

268
15 декабря 2017, 02:17

Форма.

<input type="hidden" name="fid" id="fid" value="5556" required>
<input id="sortpicture" type="file" multiple name="sortpic[]" />
<button id="upload">Загрузить файл</button>

Мой JS с одним работает нормально, но если выбрать несколько то получаю только один в массиве.

$('#upload').on('click', function() {
    var file_data = $('#sortpicture').prop('files')[0];
    var form_data = new FormData();
    form_data.append('file', file_data);
    form_data.append('fid', $("#fid").val());
   //alert(form_data);
    $.ajax({
                url: 'upload.php',
                dataType: 'text',
                cache: false,
                contentType: false,
                processData: false,
                data: form_data,
                type: 'post',
                success: function(php_script_response){
                    alert("OK");
                }
     });
});
Answer 1
var form_data = new FormData();
var files = $('#sortpicture').prop('files');
for (var i = 0; i < files.length; i++) {
  form_data.append('file_' + i, files[i]);
}
form_data.append('count', files.length);
form_data.append('fid', $("#fid").val());

Соответственно, на сервере сначала читаете count, потом в цикле - файлы.

READ ALSO
Некорректная работа плагина maskedinput

Некорректная работа плагина maskedinput

Использую плагин для маски ввода но он некорректно работает на мобильных устройствах, даже в демках на офф сайтеПри вводе со смартфона будто...

294
Стоит ли интегрировать jquery плагин в проект построенный на ReactJS?

Стоит ли интегрировать jquery плагин в проект построенный на ReactJS?

При переводе проекта на React столкнулся с тем такой плагинАналогичного плагина, но на React'е я не нашел

291
Как вставить этот код перед body с помощью js

Как вставить этот код перед body с помощью js

Есть код партнерки, как его можно вставить в тело html, перед body? с помощью js вот код :

342