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