Maison > interface Web > js tutoriel > Comment puis-je encoder efficacement un objet JavaScript dans une chaîne de requête ?

Comment puis-je encoder efficacement un objet JavaScript dans une chaîne de requête ?

DDD
Libérer: 2024-12-06 11:45:12
original
796 Les gens l'ont consulté

How Can I Efficiently Encode a JavaScript Object into a Query String?

Encodage efficace d'objets JavaScript pour les chaînes de requête

Encoder un objet JavaScript dans une chaîne pour la transmission via des requêtes GET peut être une tâche fastidieuse. Heureusement, il existe une solution JavaScript simple qui ne repose pas sur des bibliothèques tierces ou sur jQuery.

Voici comment procéder :

serialize = function(obj) {
  var str = [];
  for (var p in obj)
    if (obj.hasOwnProperty(p)) {
      str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
    }
  return str.join("&");
}
Copier après la connexion

Cette fonction prend un objet JavaScript en entrée. et renvoie une chaîne codée. Le processus d'encodage implique :

  • Itérer sur les propriétés de l'objet
  • Encoder en URL le nom et la valeur de la propriété
  • Concaténer les paires codées avec une esperluette (&) séparateur

Pour illustrer, pensez à coder ce qui suit object :

{
  foo: "hi there",
  bar: "100%"
}
Copier après la connexion

Utilisation de la fonction de sérialisation :

console.log(serialize({
  foo: "hi there",
  bar: "100%"
}));
Copier après la connexion

Produira la chaîne codée suivante :

foo=hi%20there&bar=100%25
Copier après la connexion

Cette chaîne codée peut ensuite être transmise en tant que chaîne de requête dans une requête GET sans aucun problème.

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