Jquery ajax FormData всегда пуст - PullRequest
       54

Jquery ajax FormData всегда пуст

0 голосов
/ 06 февраля 2020

Я хочу отправить некоторые данные с ajax в файл php. Я создал FormData, а затем добавляю в него все данные, которые я хочу отправить. Я не получаю никаких сообщений об ошибках в консоли.

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

Форма:

image/images/assets/preloader.gif">

Я вызываю эту функцию в случае нажатия кнопки.

function send_data()
{   
    var html;
    var RendelesID = <?php echo $id; ?>;
    var RendelesUserEmail = "<?php echo html($a['email']); ?>";
    var RendelesUserName = "<?php echo html($a['nev']); ?>";
    var webshopEmail = "<?php echo $webshopEmail; ?>";
    var webshopName = "<?php echo $webshopName; ?>";
    var Allapot = $( "#allapot option:selected" ).val();
    var Comment = CKEDITOR.instances['comment'].getData();

    if($("#notify").is(':checked')){var Notify = 1;}else{var Notify = 0;}
    if($("#add_text").is(':checked')){var AddToEmail = 1;}else{var AddToEmail = 0;}

    var formData = new FormData($('#AllapotForm')[0]);

    formData.append('fileName', $('#file')[0].files[0]);
    formData.append(RendelesID, RendelesID);
    formData.append(RendelesUserEmail, RendelesUserEmail);
    formData.append(RendelesUserName, RendelesUserName);
    formData.append(webshopEmail, webshopEmail);
    formData.append(webshopName, webshopName);
    formData.append(Allapot, Allapot);
    formData.append(Comment, Comment);
    formData.append(Notify, Notify);
    formData.append(AddToEmail, AddToEmail);

    console.log(formData);

    $.ajax({
         type: 'POST',
         cache: false,
         url: 'files/update_rendeles_allapot.php',
         //dataType: 'html',
         enctype: 'multipart/form-data',
         processData: false, 
         contentType: false,
         data: { formData:formData },
         beforeSend: function(){
            $('#preloaderImage2').show();
         },
         success: function(data)
         {
            alert(data);
         },
         complete: function(){
            $('#preloaderImage2').hide();
         },
         error: function (e) {
            alert(e.responseText);
            console.log(e);
        }
    });
}

Ответы [ 2 ]

0 голосов
/ 06 февраля 2020

Вы уже видели это?

FormData, созданный из существующей формы, кажется пустым, когда я регистрирую ее

Если да, попробуйте проверить, как ваша сеть смотрит на сеть затем взгляните на ваш запрос.

Вы также можете попробовать проверить свой API через Postman, если он работает правильно.

0 голосов
/ 06 февраля 2020
         data: { formData:formData },

Вам необходимо передать сам объект данных формы, а не простой объект.

data: formData
...