Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Javascript formdata is empty when trying to append values in it

following is my code when i do console.log(formData); its empty. Cannot see a reason for it to fail down.

$("#add_meal_item").on('click', '#save_meal_item', function () {
                var meal_name = $("#add_meal_item_form").find('#meal_name').val();
                var meal_type = $("#add_meal_item_form").find('#meal_type').val();
                var logoImg = $("#add_meal_item_form").find('#meal_image').get(0).files[0];
                var formData = new FormData();
                formData.append('logo', logoImg);
                formData.append('meal_type', meal_type);
                formData.append('meal_name', meal_name);
                console.log(formData);
                var ajax_url = baseurl + '/save_meal_item';
                $.ajax({
                    url: ajax_url,
                    type: 'POST',
                    data: formData,
                    success: function (response) {

                    }
                });

            });
like image 387
noobie-php Avatar asked Oct 27 '25 08:10

noobie-php


1 Answers

You need to get elements values first and then append them to formData, Like this:

var meal_name = $("#add_meal_item_form").find('#meal_name').val();
formData.append('meal_name ', meal_name );

And to show all formData keys and values you have to use FormData.entries method :

for(var pair of formData.entries()) {
     console.log(pair[0]+ ', '+ pair[1]); 
}
like image 187
YouneL Avatar answered Oct 30 '25 00:10

YouneL