Чтение параметров GET-запроса с помощью JavaScript

При реализации панели администратора для одного из сайтов, появилась необходимость прочитать параметры GET-запроса с помощью JavaScript.

Решение нашлось довольно быстро. Работа скрипта сводится к считыванию url, использованию регулярных выражений (для извлечения нужных значений) и записи полученных значений в ассоциативный массив, работа с которым очень удобна. Для примера пусть у нас будет следующий URL:

https://codernote.ru/index.php?id=123&page=home

Для того, чтобы получить параметры выполним скрипт:

var first = getUrlVars()["id"];
var second = getUrlVars()["page"];

alert(first);
alert(second);

Ну и сама функция:

function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}

Функция взята с сайта http://papermashup.com/read-url-get-variables-withjavascript/

Один ответ к «Чтение параметров GET-запроса с помощью JavaScript»

  1. Большое спасибо за рабочий вариант, долго мучился с этим вопросом. А что если в URL есть массив? Например
    https://codernote.ru/index.php?id%5B%5D=1&id%5B%5D=2&id%5B%5D=3&page=home
    “id[]” каждый раз заменяется, и в массив приходит только один, последний.
    Как в таком случае получить каждый элемент массива и потом иметь возможность с ним работать?
    Мне, например нужно перебрать подобный массив, и завернуть обратно в строку при помощи $.param().
    Буду благодарен за ответ. Всех благ

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *