"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como você envia dados de formulário com Fetch API em diferentes formatos?

Como você envia dados de formulário com Fetch API em diferentes formatos?

Publicado em 2024-11-20
Navegar:221

How do you send form data with Fetch API in different formats?

Postar dados de formulário com API Fetch

Ao utilizar a API Fetch para enviar dados de formulário, há dois formatos principais a serem considerados:

Multipart/ Form-Data

Ao usar FormData para construir o corpo da solicitação, os dados serão enviados automaticamente no formato multipart/form-data. Este é um comportamento padrão do FormData e não pode ser modificado.

Application/x-www-form-urlencoded

Para enviar os dados no formato application/x-www-form-urlencoded, você tem algumas opções:

1. String codificada em URL:

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

2. Objeto URLSearchParams:

const data = new URLSearchParams();
data.append("email", "[email protected]");
data.append("password", "mypassword");

fetch("api/xxx", {
    body: data,
    method: "post",
});

Observe que a especificação do cabeçalho Content-Type não é necessária ao usar URLSearchParams, pois ele define automaticamente o tipo de conteúdo correto.

3. URLSearchParams de FormData:

const data = new URLSearchParams(new FormData(formElement));

fetch("api/xxx", {
    body: data,
    method: "post",
});

Esta opção permite que você passe o objeto FormData diretamente para criar o objeto URLSearchParams. No entanto, ele pode ter suporte limitado ao navegador, portanto, teste-o completamente antes de usá-lo.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3