Maison >interface Web >js tutoriel >Comment envoyer des données de formulaire avec l'API Fetch à l'aide de « application/x-www-form-urlencoded » ?

Comment envoyer des données de formulaire avec l'API Fetch à l'aide de « application/x-www-form-urlencoded » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-03 18:30:29305parcourir

How to Send Form Data with Fetch API Using `application/x-www-form-urlencoded`?

Publication de données de formulaire avec l'API Fetch

La pose de données de formulaire avec l'API Fetch utilise
FormData, qui utilise intrinsèquement le format multipart/form-data. Si vous cherchez à envoyer des données en utilisant "Content-Type": "application/x-www-form-urlencoded", il existe deux options :

Créer un corps encodé en URL :

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

Utilisation d'URLSearchParams :

Pour construire un objet URLSearchParams à partir d'un élément de formulaire, vous pouvez parcourir les éléments ou utiliser la méthode de conversion suivante :

<code class="js">const data = new URLSearchParams(new FormData(formElement));
fetch("api/xxx", {
    method: 'post',
    body: data,
})</code>

Notez que définir un en-tête Content-Type n'est pas nécessaire lors de l'utilisation d'URLSearchParams.

Décodage de Multipart/Form-Data dans le contrôleur :

En fonction de votre implémentation backend, vous devrez peut-être décoder le corps multipart/form-data. Reportez-vous à la documentation du framework souhaité pour les procédures de décodage spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn