de-vraag
  • Pytania
  • Tagi
  • Użytkownicy
Powiadomienia
Nagrody
Rejestracja
Po zarejestrowaniu się, będziesz otrzymywać powiadomienia o odpowiedziach i komentarzach do swoich pytań.
Zaloguj się
Brak tłumaczeń pasujących do Twojego wyszukiwania Jeśli masz już konto, zaloguj się, aby sprawdzić nowe powiadomienia.
Za dodane pytania, odpowiedzi i komentarze przewidziane są nagrody.
Więcej
Źródło
Edytuj
Kemal Emin
Kemal Emin
Question

Jak mogę uzyskać wartości ciągu zapytania w JavaScript?

Czy istnieje pozbawiony wtyczek sposób na pobieranie wartości query string za pomocą jQuery (lub bez)?

Jeśli tak, to w jaki sposób? Jeśli nie, czy istnieje wtyczka, która może to zrobić?

2701 2009-05-23T08:10:48+00:00 3
Brad Larson
Brad Larson
Edytowane pytanie 7. kwietnia 2015 в 12:55
Query string - Wikipedia
en.wikipedia.org
Programowanie
plugins
query-string
javascript
url
Popular videos
Язык программирования JavaScript - что на нем пишут, как его учить, сколько за него платят
Язык программирования JavaScript - что на нем пишут, как его учить, сколько за него платят
11 miesięcy temu
URLSearchParams in JavaScript - Constructing Query Strings
URLSearchParams in JavaScript - Constructing Query Strings
3 lata temu
Get URL Parameter Values from Query String in Javascript - Step by Step Guide
Get URL Parameter Values from Query String in Javascript - Step by Step Guide
3 lata temu
Get URL Query String value with JavaScript
Get URL Query String value with JavaScript
1 rok temu
JavaScript По нажатию на кнопку меняется ее текст
JavaScript По нажатию на кнопку меняется ее текст
1 rok temu
Kurs JavaScript odc. 1: Skrypty po stronie klienta - pierwszy projekt, wiedza podstawowa
Kurs JavaScript odc. 1: Skrypty po stronie klienta - pierwszy projekt, wiedza podstawowa
7 lat temu
JavaScript - tworzymy pierwszy skrypt na stronę www
JavaScript - tworzymy pierwszy skrypt na stronę www
2 lata temu
Kurs JavaScript odc. 2: Mechanika działania skryptów: uchwyty, funkcje, zdarzenia
Kurs JavaScript odc. 2: Mechanika działania skryptów: uchwyty, funkcje, zdarzenia
7 lat temu
Implementacja .forEach() z wykorzystaniem prototype w JavaScript
Implementacja .forEach() z wykorzystaniem prototype w JavaScript
1 rok temu
Co potrafi JavaScript? 🔥 πroman #20 🔥 hello roman
Co potrafi JavaScript? 🔥 πroman #20 🔥 hello roman
3 lata temu
Kurs programowania w JavaScript w 8h od podstaw
Kurs programowania w JavaScript w 8h od podstaw
9 miesięcy temu
Jak uczyć się JavaScript od podstaw?  | Przeprogramowany vlog v0.0.32
Jak uczyć się JavaScript od podstaw? | Przeprogramowany vlog v0.0.32
2 lata temu
Promise - to tylko dziwne callbacki? Prosto o Promise()
Promise - to tylko dziwne callbacki? Prosto o Promise()
2 lata temu
4. Kurs JavaScript - Instrukcje warunkowe (If)
4. Kurs JavaScript - Instrukcje warunkowe (If)
1 rok temu
async, await - czyli lepsze promisy
async, await - czyli lepsze promisy
1 rok temu
вывести на консоль через #цикл for числа от 1 до 9#JS для начинающих
вывести на консоль через #цикл for числа от 1 до 9#JS для начинающих
1 rok temu
Podstawy programowania w JavaScript w 60 MINUT
Podstawy programowania w JavaScript w 60 MINUT
2 lata temu
Zostań Programistą JavaScript #4 - Funkcje - Kurs Javascript
Zostań Programistą JavaScript #4 - Funkcje - Kurs Javascript
1 rok temu
« Poprzedni
Następny »
To pytanie ma 1 odpowiedź w języku angielskim, aby je przeczytać zaloguj się na swoje konto.
Solution / Answer
Artem Barger
Artem Barger
23. maja 2009 в 8:35
2009-05-23T08:35:46+00:00
Więcej
Źródło
Edytuj
#9091308

Uaktualnienie: wrzesień-2018

Możesz użyć URLSearchParams, który jest prosty i ma przyzwoite (ale nie pełne) wsparcie dla przeglądarek.

const urlParams = new URLSearchParams(window.location.search);
const myParam = urlParams.get('myParam');

Original

Nie potrzebujesz jQuery do tego celu. Możesz użyć po prostu czystego JavaScriptu:

function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, '\\$&');
    var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, ' '));
}

Użycie:

// query string: ?foo=lorem&bar=&baz
var foo = getParameterByName('foo'); // "lorem"
var bar = getParameterByName('bar'); // "" (present with empty value)
var baz = getParameterByName('baz'); // "" (present with no value)
var qux = getParameterByName('qux'); // null (absent)


Uwaga: Jeśli parametr jest obecny kilka razy (?foo=lorem&foo=ipsum), otrzymasz pierwszą wartość (lorem). Nie ma standardu na ten temat i zastosowania różnią się, zobacz na przykład to pytanie: Autorytatywna pozycja zduplikowanych kluczy zapytań HTTP GET.
UWAGA: W funkcji rozróżniana jest wielkość liter. Jeśli wolisz, aby w nazwie parametru nie była rozróżniana wielkość liter, dodaj 'i' modyfikator do RegExp.


Jest to aktualizacja oparta na nowych URLSearchParams specs, aby osiągnąć ten sam wynik bardziej zwięźle. Zobacz odpowiedź zatytułowaną "URLSearchParams" poniżej.

Martin Tournoij
Martin Tournoij
Edytowana odpowiedź 6. sierpnia 2019 в 7:12
Can I use... Support tables for HTML5, CSS3, etc
"Can I use" provides up-to-date browser support tables for support of front-end web technologies on desktop and mobile web browsers.
caniuse.com
7964
0
 brandonjp
brandonjp
19. marca 2010 в 7:52
2010-03-19T19:52:08+00:00
Więcej
Źródło
Edytuj
#9091309

Roshambo na snipplr.com ma prosty skrypt do osiągnięcia tego celu opisany w Get URL Parameters with jQuery | Improved. Z jego skryptem możesz również łatwo wyciągnąć tylko te parametry, które chcesz.

Oto sedno sprawy:

$.urlParam = function(name, url) {
    if (!url) {
     url = window.location.href;
    }
    var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(url);
    if (!results) { 
        return undefined;
    }
    return results[1] || undefined;
}

Następnie po prostu pobierz swoje parametry z ciągu zapytania.

Więc jeśli URL / ciąg zapytania był xyz.com/index.html?lang=de.

Wystarczy zadzwonić do var langval = $.urlParam('lang');, a ty'masz to.

UZBEKJON ma również świetny wpis na blogu na ten temat, Uzyskaj parametry adresu URL & wartości z jQuery.

 Yahel
Yahel
Edytowana odpowiedź 4. lutego 2016 в 6:51
jQuery Howto: Get URL parameters & values with jQuery
Short and "to the point" jQuery & JavaScript related posts for your daily pleasure.
jquery-howto.blogspot.com
Get URL Parameters with jQuery | Improved - jQuery Snipplr Social Repository
snipplr.com
218
0
 alex
alex
23. maja 2009 в 8:14
2009-05-23T08:14:40+00:00
Więcej
Źródło
Edytuj
#9091307

Jeśli używasz jQuery, możesz użyć biblioteki, takiej jak jQuery BBQ: Back Button & Query Library.

...jQuery BBQ zapewnia pełną .deparam() metodę, wraz z zarządzaniem stanem hash, a także fragment / query string parse i merge metody użytkowe.

Edycja: Dodanie przykładu Deparam:

 var DeparamExample = function() {
            var params = $.deparam.querystring();

            //nameofparam is the name of a param from url
            //code below will get param if ajax refresh with hash
            if (typeof params.nameofparam == 'undefined') {
                params = jQuery.deparam.fragment(window.location.href);
            }

            if (typeof params.nameofparam != 'undefined') {
                var paramValue = params.nameofparam.toString();

            }
        };

Jeśli chcesz użyć zwykłego JavaScriptu, możesz użyć...

var getParamValue = (function() {
    var params;
    var resetParams = function() {
            var query = window.location.search;
            var regex = /[?&;](.+?)=([^&;]+)/g;
            var match;

            params = {};

            if (query) {
                while (match = regex.exec(query)) {
                    params[match[1]] = decodeURIComponent(match[2]);
                }
            }    
        };

    window.addEventListener
    && window.addEventListener('popstate', resetParams);

    resetParams();

    return function(param) {
        return params.hasOwnProperty(param) ? params[param] : null;
    }

})();​

Z powodu nowego API historii HTML, a w szczególności history.pushState() i history.replaceState(), adres URL może się zmienić, co spowoduje unieważnienie pamięci podręcznej parametrów i ich wartości.

Ta wersja będzie aktualizować swoją wewnętrzną pamięć podręczną parametrów za każdym razem, gdy zmieni się historia.

Ben Call
Ben Call
Edytowana odpowiedź 9. października 2014 в 4:13
Ben Alman » jQuery BBQ: Back Button & Query Library
benalman.com
166
0
Dodaj pytanie
Kategorie
Wszystkie
Technologia
Kultura / Rekreacja
Życie / Sztuka
Nauka
Profesjonalny
Biznes
Użytkownicy
Wszystkie
Nowy
Popularny
1
Zuxriddin Muydinov
Zarejestrowany 11 godzin temu
2
Денис Анненский
Zarejestrowany 2 dni temu
3
365
Zarejestrowany 1 tydzień temu
4
True Image
Zarejestrowany 1 tydzień temu
5
archana agarwal
Zarejestrowany 1 tydzień temu
CS
DA
DE
EL
ES
FR
ID
IT
JA
NL
PL
PT
RU
SL
SV
TR
ZH
© de-vraag 2022
Źródło
stackoverflow.com
na podstawie licencji cc by-sa 3.0 z przypisaniem