3 Stimmen

Gibt es eine Möglichkeit, get-Parameter zusammenzufassen? - HTML/Javascript

Oft bin ich über einfache Dinge erstaunt, ich bin mir nicht sicher, aber ich glaube, dass dies eines davon sein könnte.

Oft habe ich das Bedürfnis Attribute zusammenführen, insbesondere innerhalb von Filtern und Suchseiten innerhalb von Websites. Dies kann mitunter recht kompliziert sein, da Sie möglicherweise Parameter dynamisch entfernen und hinzufügen möchten.

Eine einfache Möglichkeit ist die Verwendung eines Formulars, aber das wird kompliziert, wenn man Elemente hinzufügt, die nicht in ein Formular gehören, z. B. eine Seitennummerierung.

Ich könnte zum Beispiel eine URL wie die folgende haben

http://www.example.org/ninja_search/?speed__gt=5&night_sight=1&page=1

Wie würde ich eine solche URL mit page=2 zusammenführen, indem ich die 1 durch den neuen Wert ersetze? Ist javascript die einzige Möglichkeit?

?speed__gt=5&night_sight=1& Seite=1 + Seite=2 \= ?speed__gt=5&night_sight=1& Seite=2

Danke :)

3voto

Andy E Punkte 324972

Die Lösung ist die Verwendung von [] um explizit ein Array aus den Parametern zu erstellen, sofern Ihre serverseitige Sprache dies unterstützt:

?speed__gt=5&night_sight=1 &Seite[]=1&Seite[]=2

Wenn Ihre serverseitige Sprache zum Beispiel PHP ist, $_GET['page'] wird nun ein Array mit 1 als erstem und 2 als zweitem Element zurückgeben.

Sie können diese Technik auch in Formularen verwenden, indem Sie sie auf die name Attribut:

<form id="myform">
  <input type="hidden" name="page[]" value="1" />
  <input type="hidden" name="page[]" value="2" />
</form>

Wenn es darum geht, einen zweiten Parameter hinzuzufügen und den ersten zu ignorieren, wird dies ohnehin geschehen - der zweite bereitgestellte Parameter überschreibt den ersten. Angenommen,

?speed__gt=5&night_sight=1&page=1&page=2

Der Wert von page auf dem Server wird 2 sein, da der zuletzt angegebene Wert Vorrang hat.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X