Maison >interface Web >Questions et réponses frontales >Parlons de la façon dont jQuery gère les données de formulaire non codées

Parlons de la façon dont jQuery gère les données de formulaire non codées

PHPz
PHPzoriginal
2023-04-10 09:47:35533parcourir

La méthode serialize() de jQuery consiste à sérialiser les données du formulaire dans une chaîne codée en URL. Mais dans certains cas, nous devons utiliser des chaînes brutes non codées. Dans ce cas, nous pouvons utiliser la méthode serializeArray() pour convertir les données du formulaire en un tableau JSON, puis écrire notre propre code pour les traiter au format requis.

Dans cet article, nous présenterons comment utiliser jQuery pour gérer les données de formulaire non codées.

    Limitations de la méthode Serialize()
Lors de l'utilisation de la méthode Serialize() de jQuery, les données seront codées en URL, ce qui garantit que les données sont en sécurité et peuvent être transférées entre différentes applications. Mais parfois, nous devons envoyer les données brutes du formulaire directement au serveur backend au lieu de les encoder d’abord, puis de les envoyer.

Par exemple, certains frameworks backend comme Spring MVC décodent automatiquement les données de formulaire codées en URL lorsqu'ils les reçoivent. Cela signifie que lorsque nous utilisons la méthode serialize(), nous devons faire attention à savoir si les données doivent être codées.

    Utilisation de la méthode SerializeArray()
Si nous souhaitons envoyer une requête en utilisant des données de formulaire brutes et non codées, nous pouvons utiliser la méthode SerializeArray() pour convertir les données du formulaire en un tableau JSON. Cette méthode convertit chaque élément du formulaire en un objet contenant les attributs de nom, de valeur et de type de l'élément.

Par exemple, le formulaire suivant :




Vous pouvez le convertir en tableau JSON via le code suivant :

var formData = $("form").serializeArray();

La structure de données de le tableau est le suivant :

[

{ nom : "user", valeur : "Alice", type : "text" },
{ nom : "mot de passe", valeur : "123456", type : "text" }
]

2.1 Écrire automatiquement la logique de traitement des données

Ensuite, nous pouvons écrire nous-mêmes la logique de traitement des données en fonction de nos propres besoins. Par exemple, le code suivant convertit un tableau JSON en données de formulaire brutes et non codées :

var formData = $("form").serializeArray();

var rawData = {};

formData.forEach(function(item ) {

rawData[item.name] = item.value;
});

console.log($.param(rawData)); // user=Alice&password=123456

2.2 Utilisez la méthode $.param() aux données sérialisées en chaîne non codée

Si nous voulons utiliser des données de formulaire non codées comme en utilisant la méthode serialize(), nous pouvons utiliser la méthode $.param() de jQuery pour sérialiser les données.

var formData = $("form").serializeArray();

var rawData = {};

formData.forEach(function(item) {

rawData[item.name] = item.value;
}) ;

console.log($.param(rawData, true)); // user=Alice&password=123456

Il convient de noter que lors de l'utilisation de la méthode $.param(), le deuxième paramètre doit être défini sur true , pour garantir que les données de sortie ne sont pas codées.

    Résumé
Dans cet article, nous avons expliqué comment utiliser jQuery pour gérer les données de formulaire non codées. En utilisant la méthode serializeArray(), nous pouvons convertir les données du formulaire en un tableau JSON, puis écrire le code nous-mêmes pour le traiter au format requis. Si vous devez sérialiser les données dans une chaîne non codée, vous pouvez utiliser la méthode $.param() de jQuery et définir le deuxième paramètre sur true.

Bien que dans certains cas, il soit nécessaire d'utiliser des données brutes de formulaire non codées, dans la plupart des cas, nous recommandons d'utiliser la méthode serialize(). Cette méthode peut garantir la sécurité des données et réduire les erreurs d’arrière-plan causées par des formats de données non standard.

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