AJAX PUT FormData

Sende ich FormData per AJAX PUT an den Server, kann das kakke aussehen (Server side log):
Array
(
[------WebKitFormBoundarydvJbNbOZqlwFQSQv
Content-Disposition:_form-data;_name] => "foo"

12345gfd
------WebKitFormBoundarydvJbNbOZqlwFQSQv
Content-Disposition: form-data; name="bar"

1234sdfghjzt5gfd
------WebKitFormBoundarydvJbNbOZqlwFQSQv--

)

Das Selbe per POST gibt ein Array wie es sein soll.

Um auch per AJAX PUT ein zu gebrauchendes Array am Server zu bekommen, kann man die Daten aus dem FormData Objekt in ein Array holen:

        $('#foobutton').click(function () {
            let formData = new FormData(window.document.forms.namedItem('my_form'));
            let data = {};
            formData.forEach((key, value) => data[key] = value);
            $.ajax({
                url: '/lerp-product-product/a536d460-5791-4338-bb32-507fc7958264',
                method: 'put',
                data: data,
                processData: false, // wegen FormData
                contentType: false, // wegen FormData
                success: function (data, textStatus, jqXHR) {
                    console.log('yeah, back from PUT');
                }
            });
        });

gist