Como postar dados do formulário com a API de busca?

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 a API de busca, e o corpo que ele envia é como:

-----------------------------114782935826962
Content-Disposition: form-data; name="email"

[email protected]
-----------------------------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 ...)

Gostaria de enviar os dados com "Content-Type": "application / x-www-form-urlencoded", o que devo fazer? Ou, se eu apenas tiver que lidar com isso, como decodificar os dados no meu controlador?

Para quem responde minha pergunta, eu sei que posso fazer isso com:

fetch("api/xxx", {
    body: "[email protected]&password=pw",
    headers: {
        "Content-Type": "application/x-www-form-urlencoded",
    },
    method: "post",
}

O que eu quero é algo como $ ("# form"). Serialize () no jQuery (sem o uso do jQuery) ou a maneira de decodificar dados de partes múltiplas / formulário no controlador. Obrigado por suas respostas embora.

questionAnswers(3)

yourAnswerToTheQuestion