My code:
fetch("api/xxx", { body: new FormData(document.getElementById("form")), headers: { "Content-Type": "application/x-www-form-urlencoded", // "Content-Type": "multipart/form-data", }, method: "post", } I tried to post my form using fetch api, and the body it sends is like:
-----------------------------114782935826962 Content-Disposition: form-data; name="email" [email protected] -----------------------------114782935826962 Content-Disposition: form-data; name="password" pw -----------------------------114782935826962-- (I don't know why the number in boundary is changed every time it sends...)
I would like it to send the data with "Content-Type": "application/x-www-form-urlencoded", what should I do? Or if I just have to deal with it, how do I decode the data in my controller?
To whom answer my question, I know I can do it with:
fetch("api/xxx", { body: "[email protected]&password=pw", headers: { "Content-Type": "application/x-www-form-urlencoded", }, method: "post", } What I want is something like $("#form").serialize() in jQuery (w/o using jQuery) or the way to decode mulitpart/form-data in controller. Thanks for your answers though.
FormData?MDNSending forms through JavaScript.