portur.top

  

Bästa artiklarna:

  
Main / Hur får man url-parametrar

Hur får man url-parametrar

Genom att använda vår webbplats bekräftar du att du har läst och förstått vår cookiepolicy, integritetspolicy och våra användarvillkor. Jag måste få hela värdet av c. Jag försökte läsa webbadressen, men jag fick bara m2. Hur gör jag detta med JavaScript? För äldre webbläsare inklusive Internet Explorer kan du använda denna polyfyllning eller koden från den ursprungliga versionen av det här svaret som föregår URL: en.

Du kan komma åt plats. För en lista över webbläsarstöd se här. Eric Bidelman, ingenjör på Google, rekommenderar att du använder denna polyfyll för webbläsare som inte stöds. Du kan få frågesträngen på plats.

Här är en rekursiv lösning som inte har någon regex, och som har minimal mutation, bara params-objektet är muterat, vilket jag tror är oundvikligt i JS. Det stöds för närvarande i Chrome, Firefox, Safari, Edge och andra. Jag använder biblioteket parseUri. Det låter dig göra exakt vad du ber om :. Här är min lösning.

Som rekommenderat av Andy E när du svarar på den här frågan är det inte bra för ditt skripts prestanda om det flera gånger bygger olika regexsträngar, kör loopar bara för att få ett enda värde. Så jag har kommit med ett enklare skript som returnerar alla GET-parametrar i ett enda objekt.

Du bör ringa det bara en gång, tilldela resultatet till en variabel och sedan, när som helst i framtiden, få valfritt värde från den variabeln med hjälp av lämplig nyckel. Observera att det också tar hand om URI-avkodning i. Här är en fiol för detta .... Fick härifrån: Det finns några bra svar redan, men jag tyckte att de i onödan var komplexa och svåra att förstå.

Detta är kort, enkelt och returnerar en enkel associerande matris med nyckelnamn som motsvarar tokennamnen i URL: n. Jag tycker att det är enklare att säkerställa kompatibilitet mellan webbläsare med jQuery över hela linjen snarare än att ansluta enskilda korrigeringar för att stödja vilka nya funktioner som inte stöds i äldre webbläsare. Efter att jag skrev detta märkte jag Eric Elliotts svar, som är nästan detsamma, även om det används för varje, medan jag generellt är emot av skäl som anges ovan.

Här är angularJs-källkoden för att analysera url-frågeparametrar i ett objekt :. Jag sökte högt och lågt efter en lösning och stötte på denna lilla bit kod. Den läser i princip den aktuella sidans webbadress, utför ett visst reguljärt uttryck på URL: en och sparar sedan webbadressparametrarna i en associerande matris, som vi enkelt kan komma åt. Tack för ditt intresse för denna fråga. Eftersom det har lockat svar av låg kvalitet eller skräppost som var tvungen att ta bort, kräver det att du skickar ett svar nu 10 anseende på denna webbplats som föreningsbonusen inte räknas med.

Vill du svara på en av dessa obesvarade frågor istället? Hur får man värdet från GET-parametrarna? Frågar frågan. Daniel Serodio 2 694 2 2 guldmärken 29 29 silvermärken 32 32 bronsmärken. JavaScript i sig har inget inbyggt för hantering av parametrar för frågesträngar. Quentin Quentin 672k 77 77 guldmärken 915915 silvermärken 1074 1074 bronsmärken.

Den version som använder regelbundet uttryck nedan fungerar bättre. Jamland - Gör absolut inte det. Det kommer att bryta saker.

Quentin Jag har kollat ​​olika speciella tecken och jag ser att du har rätt. De flesta implementeringar jag har sett saknar URL-avkodning av namn och värden.

Här är en allmän verktygsfunktion som också utför korrekt URL-avkodning: Brendan Nee 2 653 1 1 guldmärke 25 25 silvermärken 28 28 bronsmärken.

Ates Goral Ates Goral 107k 22 22 guldmärken 119119 silvermärken 179179 bronsmärken. Den här koden fungerar inte. Det skapar en oändlig slinga eftersom regex kompileras i loopdefinitionen som återställer det aktuella indexet. Det fungerar ordentligt om du placerar regexen i en variabel utanför slingan. Det fungerar i vissa webbläsare medan det skulle gå in i en oändlig slinga i andra. Du har halv rätt i det avseendet. Jag kommer att fixa koden för att vara webbläsare. Tack för att ni påpekade det!

Se användningsexemplet för kommenterade nedan. Harvey Case-okänslighet är inte ett problem för frågeparametrar. Det låter som en applikationsspecifik sak som ska appliceras tillsammans med eller ovanpå frågan för extraktion av frågeparametrar. Varför qs. Haim Evgi Haim Evgi 95. Jag gillar det här alternativet bäst, men föredrar att returnera null, eller resultatet, men inte en tom sträng. Det verkar som om du har några extra flyktar. Eftersom det här är vanliga strängar behöver [och] inte undvikas.

Detta är inte skiftlägeskänsligt. Var skulle jag lägga till "i" för att göra det skiftlägeskänsligt? Vänligen ange din källa: Detta är ett enkelt sätt att bara kontrollera en parameter: Exempel URL: Kanske vill du ha ett standardvärde, i så fall: Detta fungerar bättre: RedClover 443 7 7 silvermärken 15 15 bronsmärken. Detta fungerar bara om parametern du tar tag i är den sista i webbadressen, som du inte borde lita på även om du bara förväntar dig en parameter.

Steve 20 augusti 15 kl. 18: Du kan få mer precision och tillåta valfri ordning av parametrar genom att lägga fram [? Markouver Tar inte polyfyllen hand om det? På Chrome stabil. Uppdaterat svar. Använd webbadress. Jag hittade det här för länge sedan, väldigt enkelt: VaMoose VaMoose 981 1 1 guldmärke 8 8 silvermärken 16 16 bronsmärken. Mycket trevligt, det fungerar också med plats. 15 jan 16 kl 8: Vad är poängen med att skapa delvariabeln?

Koden kan verka smart vid första anblicken, men är inte särskilt genomtänkt. Använd decodeURIComponent on value, för det är det du vanligtvis vill arbeta med; använd fönster. Leifs förslag fungerade bra.

Ben Mosher 10. Blixt Blixt 41k 10 10 guldmärken 98 98 silvermärken 143 143 bronsmärken. Vad sägs om URL-avkodning av parameternamn och värden? Detta tillvägagångssätt hanterar inte matriser. Kafoso Det finns inget tydligt rätt eller fel här. Först och främst har upprepade fält med samma namn inget specificerat standardbeteende och det är upp till parsern att hantera. Dessutom har [] -mönstret endast betydelse i vissa fall e. Så inte "helt fel" - bara inte implementerat för att hantera ett icke-standardfall som du kanske eller inte behöver hantera.

Jag skrev en mer enkel och elegant lösning. NateGreat8 NateGreat8 1 162 1 1 guldmärke 18 18 silvermärken 16 16 bronsmärken. Titta på det, två rader, gör exakt vad det står på burken - och går inte sönder om någon försöker söka efter sårbarheter och lägger till en massa extra tecken och frågor till skillnad från ett par av dessa lösningar. Skål karl! Testat, fungerar. Detta gör jobbet rätt och bara i två rader.

Bra svar! Jag tror att det skulle vara praktiskt för andra att en check för null ingick. Om inte, är ett exempel här: Förstår inte ...

(с) 2019 portur.top