Mój kod:
fetch("api/xxx", {
body: new FormData(document.getElementById("form")),
headers: {
"Content-Type": "application/x-www-form-urlencoded",
// "Content-Type": "multipart/form-data",
},
method: "post",
}
Próbowałem opublikować swój formularz za pomocą api pobierania, a treść, którą wysyła, wygląda następująco:
-----------------------------114782935826962
Content-Disposition: form-data; name="email"
test@example.com
-----------------------------114782935826962
Content-Disposition: form-data; name="password"
pw
-----------------------------114782935826962--
(Nie wiem, dlaczego liczba w granicach jest zmieniana za każdym razem, gdy wysyła ...)
Chciałbym, aby wysyłał dane z "Content-Type": "application / x-www-form-urlencoded", co mam zrobić? A jeśli po prostu muszę sobie z tym poradzić, jak zdekodować dane w kontrolerze?
Komu odpowiadam na moje pytanie, wiem, że mogę to zrobić:
fetch("api/xxx", {
body: "email=test@example.com&password=pw",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
method: "post",
}
To, czego chcę, to coś takiego jak $ ("# form"). Serialize () w jQuery (bez użycia jQuery) lub sposób na dekodowanie danych mulitpart / form w kontrolerze. Dziękuję jednak za odpowiedzi.
FormData
?