Wie konvertiere ich URL-Parameter in ein JavaScript-Objekt?
Bei der Arbeit mit Webanwendungen stößt man häufig auf URLs, die Parameter enthalten. Diese Parameter können zusätzliche Informationen enthalten, auf die Sie in Ihrem JavaScript-Code zugreifen möchten. Dazu müssen Sie die URL-Parameter in ein JavaScript-Objekt konvertieren.
Einzeiler-Lösung
Der folgende Einzeiler bietet eine schnelle und unkomplizierte Lösung So konvertieren Sie URL-Parameter in ein Objekt:
<code class="javascript">JSON.parse('{"' + decodeURI("abc=foo&def=%5Basf%5D&xyz=5".replace(/&/g, "","").replace(/=/g, "":"")) + '"}')</code>
Schritt-für-Schritt-Aufschlüsselung
Lassen Sie uns diese Lösung Schritt für Schritt aufschlüsseln:
Reviver-Funktion
Während die einzeilige Lösung die meisten Szenarien beherrscht, kann es bei bestimmten Zeichen zu Problemen kommen, z. B. „ %“ in den URL-Parametern. Um dieses Problem zu beheben, können Sie beim Parsen des JSON-Objekts eine Reviver-Funktion verwenden:
<code class="javascript">JSON.parse('{"' + search.replace(/&/g, '","').replace(/=/g,'":"') + '"}', function(key, value) { return key===""?value:decodeURIComponent(value) })</code>
Diese Reviver-Funktion führt eine URI-Dekodierung durch, bevor der Wert für jeden Schlüssel zurückgegeben wird, um sicherzustellen, dass alle Zeichen ordnungsgemäß verarbeitet werden.
Beispielverwendung
Um eine dieser Lösungen zu verwenden, ersetzen Sie einfach „abc=foo&def=[asf]&xyz=5“ durch die tatsächlichen URL-Parameter, die Sie konvertieren möchten. Die Ausgabe ist ein JavaScript-Objekt, auf das Sie bei Bedarf zugreifen und es bearbeiten können.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich URL-Parameter in ein JavaScript-Objekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!