Загрузка данных и файлов в одной форме с использованием метода POST, AJAX и jQuery (ошибка) - PullRequest
0 голосов
/ 04 января 2019

У меня проблема.formData.append("id_element",1) не добавляет поле в formData.Я нашел много решений, но в моем случае это не работает правильно.

Код PHP здесь:

var_dump($_FILES);

$("#hw-upload_image-form").submit(function(e) {
        e.preventDefault();

        var formData = new FormData(this);
        formData.append("id_element",1); // doesn`t work here
        $.ajax({
            type:"POST",
            processData: false,
            contentType: false,
            cache: false,
            url:$(this).prop('action'),
            data:formData,
            success:function (data) {
                console.log(data); // show returned data from php
            }
        });

});
<form action="action.php"  method="post" enctype="multipart/form-data" id="hw-upload_image-form">
    <input type="file" name="hwImage"> <!-- hw = homework (just for you :) -->
</form>

Результат (с консоли)

array(1) {
  ["hwImage"]=>
  array(5) {
    ["name"]=>
    string(70) "73b38ef5d1f5849ea800c18990acde94_ce_1920x1200x0x0_cropped_800x427.jpeg"
    ["type"]=>
    string(10) "image/jpeg"
    ["tmp_name"]=>
    string(36) "D:\OSPanel\userdata\temp\php9F48.tmp"
    ["error"]=>
    int(0)
    ["size"]=>
    int(68411)
  }
}

1 Ответ

0 голосов
/ 04 января 2019

Я уже понял свою ошибку.

$_FILES покажет мне только данные файла, но если я хочу увидеть id_element, я должен использовать $_POST.

Результат:

array(1) {
  ["id_element"]=>
  string(1) "1"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...