почему объект Array становится пустым, если входной файл передается как элемент массива в запросе ajax без формы - PullRequest
0 голосов
/ 25 февраля 2019

, когда я пытаюсь загрузить файл после выбора, не назначая его массиву, он работает нормально, но при назначении файлового объекта как элемента массива $ _FILES становится пустым

HTML

<input type='file' name='image' class='image'>

Сценарий

var img = $('.image').prop('files')[0];
var ajax_data=['product','price',img];

var postData = new FormData();
    postData.append('data',ajax_data);


$.ajax({
     type: "POST",
     processData: false, 
     contentType: false, 
     url: base_url + "/admin/create_bill",
     data:postData,
     success: function (data) {
                  alert('data has been submitted')
            }
 });
}
});

примечание: если используется JSON.stringify (ajax_data), все элементы массива успешно передаются на сервер, только файловый объект становится пустымв то время как я не использую JSON.stringify (), $ _FILES становятся пустыми

простым словом, я хочу передать массив, который содержит объект файла и данные простой строки

1 Ответ

0 голосов
/ 25 февраля 2019

Вы можете POST FormData объект на сервер, включая необходимые данные.Если требуется загрузить массив, вы можете преобразовать объект File в строку data URL, преобразовать массив в JSON и POST строку JSON на сервер.

...