Меню Закрыть

Jquery получить get параметры из url

Содержание

Параметры в URL могут содержать кучу полезной информации: данные о товаре, пользовательские настройки, идентификатор партнёра. В этой статье посмотрим как через JS можно извлечь данную информацию.

Извлечение параметров из URL

Скажем, у нас есть следующий URL:

А вот функция с помощью которой мы сможем извлечь параметры из URL:

Теперь мы сможем извлекать параметры следующим образом:

Особенности

  • Наша функция рассчитана на работу с URL где параметры разделены знаком & согласно спецификации W3C. Однако существуют и другие варианты, где параметры разделяются знаками ; или & .
  • Наша функция работает в случае отсутствия знаков равенства или пустых значений параметров.
  • Дублирующие параметры преобразуются в массив.

Принципы работы

Функция извлекает строку запроса: между знаками ? и # .

Если представлена строка запроса, то будет анализироваться именно она. В противном случае извлекаем URL объекта window .

Далее создаём объект куда будем складывать параметры.

Начинаем разбор строки запроса. Отсекаем всё что находится после знака # .

Далее разделяем параметры.

В результате получим массив следующего вида:

Далее проходимся по элементам данного массива, разделяем ключи и значения.

Далее нам нужно научить функции работать с дублирующимися параметрами или массивами:

Для начала задаём индекс по умолчанию: undefined . Далее разбираем значения между [] . Записываем индекс если он задан.

Далее задаём значение параметра. Если значение отсутствует, то записываем true .

Далее мы преобразуем параметры и значения к нижнему регистру чтобы избежать непредвиденных ситуаций:

Если название текущего параметра уже задано, то помещаем его в массив:

Если же такой параметр ещё не задан, то просто напросто передаём значение.

Если в URL были переданы закодированные символы, то мы из декодируем:

Поздравляем! Теперь вы знаете как извлечь параметры из URL.

Читайте также:  Посчитать сколько лет прошло с даты

Данная функция пригодится в большинстве случаев. Если же вам нужно обрабатывать URL с другими разделителями, то можете свободно поменять код.

Так же существует немало специализированных плагинов: jQuery URL или Medialize URI.js.

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: https://www.sitepoint.com/get-url-parameters-with-javascript/
Перевел: Станислав Протасевич
Урок создан: 21 Августа 2016
Просмотров: 24490
Правила перепечатки

5 последних уроков рубрики "jQuery"

Анимация набора текста на jQuery

Сегодня мы бы хотели вам рассказать о библиотеке TypeIt — бесплатном jQuery плагине. С её помощью можно имитировать набор текста. Если всё настроить правильно, то можно добиться очень реалистичного эффекта.

Временная шкала на jQuery

jQuery плагин для создания временной шкалы.

Заметка: Перезагрузка и редирект на JavaScript

Быстрая заметка, где вы сможете найти парочку JS сниппетов для перезагрузки и перенаправления пользователей через JavaScript.

Рисуем диаграмму Ганта

jQuery плагин для создания диаграммы Ганта.

AJAX и PHP: загрузка файла

Пример того как осуществить загрузку файла через PHP и jQuery ajax.

Подскажите пожалуйста, как по клику получить значение параметра PAGEN_1 в этой ссылки?

  • Вопрос задан более года назад
  • 431 просмотр

teen, спасибо, но ваш пример не работает (firefox). А если несколько параметров надо вытащить и присвоить переменной?

нашел функцию, но она берет текущий url страницы, а надо из ссылки (из тега A). Не могу понять, как ее модифицировать.

Я видел много примеров на jQuery, где размер и имя неизвестны. Мой url-адрес будет иметь только 1 строку:

Я просто хочу обнаружить:

30 ответов:

и вот как вы можете использовать эту функцию, предполагая, что URL-адрес,
http://dummy.com/?technology=jquery&blog=jquerybyexample .

фрагмент кода jQuery, чтобы получить динамические переменные, хранящиеся в url-адресе в качестве параметров и хранить их в качестве переменных JavaScript, готовых к использованию с вашими сценариями:

Читайте также:  Ардуино управление шаговым двигателем скетч

example. com?param1=name & param2= & >

пример параметров с пробелами

решение от 2018

это равной "да"?

а потом просто сравните его.

Я всегда придерживаюсь этого как одной линии. Теперь у params есть vars:

который вы могли бы использовать как:

может быть слишком поздно. Но этот метод очень прост и прост

что позволяет делать просто

пример предполагает, что вы используете jQuery. Вы также можете использовать его так же, как простой javascript, синтаксис будет немного отличаться.

Это может быть излишним, но есть довольно популярная библиотека теперь доступна для разбора URI, называется URI.js.

пример

попробуй такое рабочая демо http://jsfiddle.net/xy7cX/

Это должно помочь 🙂

код

это даст вам хороший объект для работы с

это основано на Gazoris’s ответ, но URL декодирует параметры, чтобы их можно было использовать, когда они содержат данные, отличные от цифр и букв:

Так Просто вы можете использовать любой URL и получить значение

Пример Использования

Примечание: если параметр присутствует несколько раз (?first=value1&second=value2), вы получите первое значение (value1) и второе значение как (value2).

есть еще один пример с использованием URI.js библиотека.

пример отвечает на вопросы точно так, как задано.

Coffeescript версия ответа Самира

небольшое улучшение ответа Sameer, кэширование параметров в закрытие, чтобы избежать разбора и циклического перебора всех параметров при каждом вызове

С помощью ванильного JavaScript вы можете легко взять параметры (местоположение.поиск), получить подстроку (без ?) и превратить его в массив, разделив его на ‘&’.

когда вы повторяете urlParams, вы можете снова разделить строку с помощью ‘=’ и добавить ее в объект ‘params’ как объект[elmement[0]] = element[1]. Супер простой и легкий доступ.

Что делать , если есть & в URL параметр, как filename="p&g.html" &u >

Читайте также:  Что такое директ в инстаграме на андроиде

в данном случае 1-я функция не будет работать должным образом. Поэтому я изменил код

По общему признанию, я добавляю свой ответ на вопрос с чрезмерным ответом, но у этого есть преимущества:

— не зависит от каких-либо внешних библиотек, включая jQuery

— не загрязняя пространство имен глобальной функции, расширяя ‘String’

— не создавая никаких глобальных данных и делать ненужную обработку после того, как матч найден

— обработка проблем кодирования и принятие (предположение) некодированного имени параметра

— избегая явное for петли

тогда вы бы использовали его как:

Если вы хотите найти определенный параметр из определенного url:

другое решение, которое использует jQuery и JSON, так что вы можете получить доступ к значениям параметров через объект.

предполагая, что Ваш URL-адрес http://example.com/?search=hello+world&language=en&page=3

после этого это только вопрос использования параметров, как это:

самое полезное использование этого-запустить его при загрузке страницы и использовать глобальную переменную для использования параметров в любом месте, где они могут понадобиться.

если ваш параметр содержит числовые значения, то просто разобрать значение.

если нет параметров param будет просто пустой объект.

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.