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
DDDoriginal
2024-12-06 11:45:12819parcourir

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("&");
}

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%"
}

Utilisation de la fonction de sérialisation :

console.log(serialize({
  foo: "hi there",
  bar: "100%"
}));

Produira la chaîne codée suivante :

foo=hi%20there&bar=100%25

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!

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