La "sérialisation" des formulaires
C'est tellement facile avec jQuery, et jadis autrement plus compliqué en JS vanille. Heureusement, ça s'est (un peu) amélioré dans les dernières années, avec la venue de deux nouveaux types d'objets : FormData et URLSearchParams.
Normalement les deux expressions suivantes devraient donner le même résultat :
const r = $(form).serialize(); // ou const r = (new window.URLSearchParams(new FormData(form)).toString());
Je dis bien « devrait », mais ça se peut qu'il y ait des différences d'encodages. Bref, on ne peut pas remplacer une expression par l'autre en toute confiance sans tester.