Meu código:
fetch("api/xxx", {
body: new FormData(document.getElementById("form")),
headers: {
"Content-Type": "application/x-www-form-urlencoded",
// "Content-Type": "multipart/form-data",
},
method: "post",
}
Tentei postar meu formulário usando fetch api, e o corpo que ele envia é assim:
-----------------------------114782935826962
Content-Disposition: form-data; name="email"
test@example.com
-----------------------------114782935826962
Content-Disposition: form-data; name="password"
pw
-----------------------------114782935826962--
(Não sei por que o número no limite é alterado toda vez que ele envia ...)
Desejo enviar os dados com "Content-Type": "application / x-www-form-urlencoded", o que devo fazer? Ou se eu apenas tenho que lidar com isso, como decodifico os dados no meu controlador?
Para quem responde à minha pergunta, eu sei que posso fazer isso com:
fetch("api/xxx", {
body: "email=test@example.com&password=pw",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
method: "post",
}
O que eu quero é algo como $ ("# form"). Serialize () em jQuery (sem usar jQuery) ou a forma de decodificar mulitpart / form-data no controlador. Obrigado por suas respostas.
FormData
?