Heim >Web-Frontend >js-Tutorial >Wie kann ich ein JavaScript-Objekt effizient in eine Abfragezeichenfolge kodieren?

Wie kann ich ein JavaScript-Objekt effizient in eine Abfragezeichenfolge kodieren?

DDD
DDDOriginal
2024-12-06 11:45:12804Durchsuche

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

Effiziente JavaScript-Objektkodierung für Abfragezeichenfolgen

Die Kodierung eines JavaScript-Objekts in eine Zeichenfolge zur Übertragung über GET-Anfragen kann eine mühsame Aufgabe sein. Zum Glück gibt es eine einfache JavaScript-Lösung, die nicht auf Bibliotheken von Drittanbietern oder jQuery angewiesen ist.

So können Sie es machen:

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

Diese Funktion verwendet ein JavaScript-Objekt als Eingabe und gibt eine codierte Zeichenfolge zurück. Der Kodierungsprozess umfasst:

  • Iterieren über die Eigenschaften des Objekts
  • URL-Kodierung sowohl des Eigenschaftsnamens als auch des Eigenschaftswerts
  • Verkettung der kodierten Paare mit einem kaufmännischen Und (&) Trennzeichen

Zur Veranschaulichung sollten Sie Folgendes kodieren Objekt:

{
  foo: "hi there",
  bar: "100%"
}

Verwendung der Serialisierungsfunktion:

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

Gibt die folgende codierte Zeichenfolge aus:

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

Diese codierte Zeichenfolge kann dann als übergeben werden Abfragezeichenfolge in einer GET-Anfrage ohne Probleme.

Das obige ist der detaillierte Inhalt vonWie kann ich ein JavaScript-Objekt effizient in eine Abfragezeichenfolge kodieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn