Maison > interface Web > js tutoriel > le corps du texte

Comment convertir HTML5 FormData en JSON sans jQuery ni sérialisation ?

DDD
Libérer: 2024-10-30 00:50:29
original
663 Les gens l'ont consulté

How to Convert HTML5 FormData to JSON Without jQuery or Serialization?

Conversion de HTML5 FormData en JSON : un guide étape par étape

Problème : Conversion des entrées d'un Objet FormData en JSON sans jQuery ni sérialisation de l'objet entier.

Réponse :

Pour convertir les entrées d'un objet FormData en JSON, suivez ces étapes :

  1. Créez un objet vide pour stocker les paires clé/valeur.
  2. Parcourez l'objet FormData à l'aide d'une boucle ou d'une méthode comme forEach.
  3. Pour chaque entrée, définissez la clé dans l'objet vide au nom de l'entrée et la valeur à sa valeur.
  4. Convertissez l'objet en JSON à l'aide de la méthode JSON.stringify().

Exemple d'utilisation de forEach :

<code class="js">var object = {};
formData.forEach(function(value, key){
    object[key] = value;
});
var json = JSON.stringify(object);</code>
Copier après la connexion

Exemple d'utilisation des fonctions fléchées ES6 :

<code class="js">var object = {};
formData.forEach((value, key) => object[key] = value);
var json = JSON.stringify(object);</code>
Copier après la connexion

Prise en charge des listes à sélection multiple :

Si votre formulaire contient des listes à sélection multiple ou d'autres éléments avec plusieurs valeurs, vous pouvez utiliser l'approche suivante :

<code class="js">var object = {};
formData.forEach((value, key) => {
    if(!Reflect.has(object, key)){
        object[key] = value;
        return;
    }
    if(!Array.isArray(object[key])){
        object[key] = [object[key]];    
    }
    object[key].push(value);
});</code>
Copier après la connexion

Envoi de FormData à un serveur :

Si vous avez l'intention de soumettre les données du formulaire à un serveur, vous pouvez ignorer la conversion en JSON et envoyer directement l'objet FormData à l'aide d'une requête API XMLHttpRequest ou Fetch.

Attention :

La méthode JSON.stringify() peut ne pas prendre en charge tous les types d'objets. Si votre objet contient des types non pris en charge, vous devrez peut-être implémenter une méthode toJSON() personnalisée pour spécifier la logique de sérialisation.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!