Puede que hayas intentado hacer un console.log() de tu objeto FormData y que veas que el resultado es algo como:
FormData {}
Y te dé la sensación de que FormData.append() no está funcionando, pero realmente si que funciona…
Si hemos hecho algo como:
var formData = new FormData(); formData.append("imagen", $("#form")[0].files[0]); formData.append("parametro", "Otro parámetro");
Para debuggear en consola lo que contiene nuestro formData() debemos de recorrerlo mediante la propiedad entries():
for (var entrie of formdata.entries()) { console.log(entrie[0]+ ': ' + entrie[1]); }
Así, ya podremos ver qué contiene y asegurarnos que lo hemos «rellenado» correctamente.
Saludossss!