Как получить данные в PHP из массивов в FormData

не могу решить проблему:

Я создаю массивы с данными, в том числе с картинками, и добавляю их в FormData.

$('#confirmYes').on('click', function() {
            
            var mySubTasks = [];
                $('.subTasky').each(function(){
                  mySubTasks.push({
                    taskId: $(this).attr('id'),
                    taskTitle: $(this).children('.currentInput').val(),
                    taskComment: $(this).children().children('.currentInputCom').val(),
                    taskImg: $(this).children('.taskPhoto').prop("files")[0]
                  });
                });
                
            var myHeaders = [];
                $('.subHeader').each(function(){
                  myHeaders.push({
                      header: $(this).children('.listInput').val()
                  });
                });
                
            var mySubSub = [];
                $('.subsub').each(function(){
                  mySubSub.push({
                      subId: $(this).attr('id'),
                      subTitle: $(this).children('.currentInput').val(),
                      subComment: $(this).children().children('.currentInputCom').val()
                  });
                });
                
            var myPrime = [];
                $('#mainTaskBox').each(function(){
                  mySubSub.push({
                      mainTitle: $(this).children('.listPrTitle').val(),
                      mainComment: $(this).children().children('.listPrCom').val(),
                      mainImg: $(this).children().children('.taskPhoto').prop("files")[0]
                  });
                });
            
            var formData = new FormData();
            formData.append('mySubTasks', JSON.stringify(mySubTasks));
            formData.append('myHeaders', JSON.stringify(myHeaders));
            formData.append('mySubSub', JSON.stringify(mySubSub));
            formData.append('myPrime', JSON.stringify(myPrime));

Затем отправляю эти данные через Ajax

$.ajax({
                        url: '../db/savelist.php',
                        method: 'POST',
                        contentType: false,
                        processData: false,
                        cache: false,
                        dataType: 'json',
                        data: formData,
                        success:(function(data){
                            $('.loader').hide();
                            console.log(data);
                            if(data=='ok'){                 
                                alert('ok');
                                
                            }   
                            else {
                                
                            }
                        })  
                    });

Как мне получить данные из массива myPrime в PHP файле? Сейчас я пробую такой код, но он не работает.

$user = '[email protected]';
$mainTask = json_decode($_POST['formData']);
if(isset($mainTask->mainTitle) == true) {
    
    
    echo 'ok';
} else {
    echo 'wtf';
}

Как мне получить данные из массивов в FormData, так чтобы можно было еще работать с файлами с input file?


Ответы (1 шт):

Автор решения: Enokin

Вам нужно получать данные на php примерно так $_POST['mySubTasks']

→ Ссылка