Во многих случаях мне приходилось принимать значение, предоставленное , URL
для выполнения действия или просто для вывода указанных данных пользователю без необходимости использовать язык на стороне сервера ( среди прочего Python
, PHP
, , ).Ruby
Какое лучшее решение?
В JavaScript нет встроенных функций, которые позволяют нам получать значения параметров GET, как в случае с такими языками, как PHP, которые могут получать указанные значения из глобальной переменной
$GET
. Вместо этого можно использовать регулярные выражения для достижения результата, имитирующего такое поведение, и получения ожидаемого значения.Решение
В следующем URL-адресе (на английском языке) мы можем получить функцию поддержки: Как я могу получить значения строки запроса в JavaScript?
Цитируя первоисточник предыдущей ссылки, мы имеем следующее:
Использовать
Принимая во внимание, что у нас есть URL-адрес, подобный следующему:
Значение, которое нужно получить, будет 88 , и мы получим его с помощью:
Объяснение
Функция getParameterByName получает параметр типа String (текстовая строка), который будет использоваться для оценки с помощью регулярного выражения, которое ищет все содержимое между концом полученной строки, за которым следует символ равенства (=), и концом строки для поиска (
location.search
) или до тех пор, пока не будет найден символ «et», также известный как «амперсанд» (&). В конце указанный текст был найден расшифрованным и возвращен. В редких случаях, когда совпадений не найдено, возвращается пустая строка.Я уже некоторое время использую функцию, созданную Крисом Койером , она работает очень хорошо для меня, у меня не было проблем и она не использует регулярные выражения:
Пример :
URL-адрес: http://store.com/shop.php?product_id=32&cat_id=1&sessionid=123 .
Использованная литература:
Ну, это отлично сработало для меня.
Интерфейс URLSearchParams определяет полезные методы для работы с параметрами поиска URL.
Ссылка
Вы можете избежать использования Regex или подобных решений, используя
URLSearchParams
. Вы можете проверить документацию на MDN для получения дополнительной информации о совместимости и многом другом.ПРИМЕЧАНИЕ . Реализованный код может не работать в некоторых браузерах.
Вот в своё время я запрограммировал расширение для jquery которое выдаёт параметры как в ресфуле так и с недружественными урлами в ридми есть инструкция
https://github.com/marcmayol/jquery_extension_url_reader