getAllQueryString
Holt alle Abfrageparameter aus einer URL und macht ein Objekt daraus.
API
getAllQueryString
Rückgabe
| Argument | Beschreibung | Typ |
|---|---|---|
Object | Objekt mit den Abfrageparametern | Record<string, string> |
Parameter
| Parameter | Beschreibung | Typ | Standard |
|---|---|---|---|
url | Zu zerlegende URL (optional, standardmäßig die der aktuellen Seite) | string | Optional |
Beispiel
Grundlegende Verwendung
import { getAllQueryString } from 'ranuts';
// Angenommen, die aktuelle URL lautet https://example.com?name=John&age=30
const params = getAllQueryString();
console.log(params); // { name: 'John', age: '30' }Eine bestimmte URL zerlegen
import { getAllQueryString } from 'ranuts';
const url = 'https://example.com?page=1&limit=10&sort=name';
const params = getAllQueryString(url);
console.log(params); // { page: '1', limit: '10', sort: 'name' }Einen bestimmten Parameter lesen
import { getAllQueryString } from 'ranuts';
const params = getAllQueryString();
const page = params.page || '1';
const limit = params.limit || '10';
console.log(`Seite: ${page}, Anzahl: ${limit}`);Kodierte Parameter
import { getAllQueryString } from 'ranuts';
// URL: https://example.com?search=hello%20world
const params = getAllQueryString();
console.log(params.search); // 'hello world' (von allein dekodiert)Hinweise
Ein Flag ohne Wert behält seinen Platz.
?embedund?embed=ergeben beide{ embed: '' }. Vor 0.3 fiel jeder Parameter ohne Wert weg, wodurch sich?readonlyund?embed(die übliche Schreibweise eines booleschen Flags) nicht davon unterscheiden ließen, dass der Parameter fehlt. Lies solche Flags mitqueryFlag.Ein Fragment sickert nie in den letzten Wert.
?lang=en#sectionergibt{ lang: 'en' }.Getrennt wird nur am ersten
=, ein Wert darf also eines enthalten:?next=/a?b=1ergibt{ next: '/a?b=1' }.Dekodierung: Schlüssel und Werte werden prozentdekodiert, und
+wird zum Leerzeichen — genau wie beiURLSearchParams. Eine fehlerhafte Maskierung wie%zzbleibt wörtlich stehen, statt den Parameter fallen zu lassen, damit ein schlechter Wert nicht die anderen verdeckt.Server-Umgebung: gibt
{}zurück, wenn es keinwindowgibt und keineurlübergeben wurde. Übergib eine URL, um es in einem Build-Skript zu benutzen.Standard-URL: ohne
urlwirdwindow.location.hrefgenommen.Doppelte Parameter: nur der letzte Wert bleibt.