Kako lahko pridobim vrednosti poizvedbenega niza v javascriptu?
Ali obstaja način pridobivanja vrednosti poizvedbeni niz brez vtičnika prek jQueryja (ali brez njega)?
Če da, kako? Če ne, ali obstaja vtičnik, ki to omogoča?
2701
3
Posodobitev: september 2018
Uporabite lahko URLSearchParams, ki je preprost in ima spodobno (vendar ne popolno) podporo za brskalnike.
Original
Za ta namen ne potrebujete jQueryja. Uporabite lahko samo nekaj čistega JavaScripta:
Uporaba:
Opomba: Če je parameter prisoten večkrat (
?foo=lorem&foo=ipsum
), boste dobili prvo vrednost (lorem
). Za to ni nobenega standarda in uporaba je različna, glejte na primer to vprašanje: [Avtoritativni položaj podvojenih ključev poizvedbe HTTP GET] (https://stackoverflow.com/questions/1746507/authoritative-position-of-duplicate-http-get-query-keys).OPOMBA: Funkcija je občutljiva na velike in male črke. Če želite, da ime parametra ni občutljivo na velikost črk, dodajte modifikator 'i' v RegExp.
To je posodobitev, ki temelji na novi URLSearchParams specs za bolj jedrnato doseganje istega rezultata. Glej odgovor z naslovom "URLSearchParams" spodaj.
Roshambo na snipplr.com ima preprosto skripto za dosego tega, opisano v Get URL Parameters with jQuery | Improved. Z njegovo skripto lahko preprosto izvlečete samo želene parametre.
Tukaj je bistvo:
Nato samo pridobite parametre iz poizvedbenega niza.
Če je bil niz URL/povpraševanje
xyz.com/index.html?lang=de
.Pokličite
var langval = $.urlParam('lang');
in to je vse.UZBEKJON ima o tem tudi odličen prispevek na blogu: Get URL parameters & values with jQuery.
Če uporabljate program jQuery, lahko uporabite knjižnico, kot je jQuery BBQ: Knjižnica gumba za nazaj in poizvedb.
Ureditev: dodan primer Deparam:
Če želite uporabiti le navaden JavaScript, lahko uporabite...
Zaradi novega API HTML History in zlasti
history.pushState()
inhistory.replaceState()
se lahko URL spremeni, kar bo razveljavilo predpomnilnik parametrov in njihovih vrednosti.Ta različica bo ob vsaki spremembi zgodovine posodobila svoj notranji predpomnilnik parametrov.