Загрузка файла вместе с другими данными в одном запросе POST используя Jquery и Ajax

129
21 июля 2019, 22:10

У меня есть проблема: "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); // тут не добавляет поле 
        console.log(formData); 
        $.ajax({ 
            type:"POST", 
            processData: false, 
            contentType: false, 
            cache: false, 
            url:$(this).prop('action'), 
            data:formData, 
            success:function (data) { 
                console.log(data); 
            } 
        }); 
 
});
<form action="action.php"  method="post" enctype="multipart/form-data" id="hw-upload_image-form"> 
    <input type="file" name="hwImage"> <!-- hw = homework --> 
</form>

Result (from the console)

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)
  }
}
Answer 1

Поле добавляется, но на стороне php id_element будет в $_POST, а не в $_FILES.

READ ALSO
Как узнать выбранная точка относиться к суши или воде? OSM JS openlayers

Как узнать выбранная точка относиться к суши или воде? OSM JS openlayers

Как написать функцию на JS которой на вход передаёшь широту и долготу, а на выходе получаешь false, если суша и true, если водаУ меня есть такой JS:

141
Поиск на сайте по двум параметрам

Поиск на сайте по двум параметрам

Доброго времени суток :) Помогите пожалуйста с небольшой задачкой

154
Как сделать AJAX запрос?

Как сделать AJAX запрос?

Много всего прочитал о AJAX запросах и как они работают вроде бы понял, но как это применить никак не догадаюсь

149