Maison >interface Web >js tutoriel >Comment puis-je encoder efficacement des objets JavaScript pour les requêtes GET sans bibliothèques ?

Comment puis-je encoder efficacement des objets JavaScript pour les requêtes GET sans bibliothèques ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-28 19:15:12801parcourir

How Can I Efficiently Encode JavaScript Objects for GET Requests Without Libraries?

Encodage d'objets JavaScript pour les requêtes GET

Dans le développement Web, il est souvent nécessaire d'envoyer des données complexes via des requêtes GET. L'encodage d'objets JavaScript dans un format de chaîne est une solution courante, mais trouver une méthode simple et rapide peut s'avérer difficile.

Solution :

Pour encoder un objet JavaScript sans le utilisation de bibliothèques ou de frameworks, suivez ces étapes :

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

Utilisation :

Passez votre objet JavaScript comme argument à la fonction de sérialisation. Il renverra une chaîne qui peut être utilisée dans une requête GET, comme indiqué ci-dessous :

console.log(serialize({
  foo: "hi there",
  bar: "100%"
}));
// foo=hi%20there&bar=100%25

Cela encodera l'objet dans la chaîne suivante : foo=hi There&bar=100%. La chaîne est formatée au format de chaîne de requête, avec chaque paire clé-valeur séparée par une esperluette (&) et la clé et la valeur sont codées à l'aide de encodeURIComponent.

En utilisant cette simple fonction JavaScript non-framework, vous pouvez encodez rapidement et efficacement vos objets JavaScript pour les requêtes GET.

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