В этом уроке я расскажу вам о том, как вы можете получить параметры URL с помощью javascript.
Передача параметров URL-адреса-это хороший способ перехода с одной страницы на другую. Как мы знаем, URL-адрес-это строка, в которой присутствуют определенные переменные, которые используются для перехода на новую страницу. Вы можете получить его, проверив в строке URL текст, написанный после знака вопроса, показывает имя переменной, пара значений разделена амперсандом.
Недостатком использования этого метода является то, что он виден пользователю, и любой может манипулировать им путем ручного редактирования. Есть несколько других безопасных способов, которыми мы можем это сделать, используя метод post, файлы cookie сеанса или базу данных для хранения переменных.
В принципе, для этого мы должны понять, как он передается.
Существуют различные способы, с помощью которых мы можем получить параметры из url, давайте рассмотрим их один за другим.
JavaScript Получает параметры URL-адреса
Способ 1:
Первый способ-использовать метод javascript searchParams. Этот метод используется для получения значения определенной переменной.
var link = "http://www.steadyadvice.net/t.html?stack=hello&pop=data&link=hello";
var extractParameter= new URL(link);
var final = extractParameter.searchParams.get("link");
console.log(final);
Вы можете получить текущую ссылку с помощью окна.location.href, просто замените строку переменной ссылки этим методом.
Способ 2:
Другой способ-использовать метод разделения.
var urlLink = 'http://www.steadyadvice.net/t.html?stack=hello&pop=data&link=hello';
var query_paramter = urlLink.split("?")[1];
console.log(query_paramter);
Способ 3:
Третий способ-это использование регулярного выражения.
function getUrlVars( name, link ) {
if (!link) link = location.href;
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var = "[\\?&]"+name+"=([^&#]*)";
varregex = new RegExp( regexS );
varresults = regex.exec( url );
return results == null ? 'Empty' : results[1];
}
console.log(getUrlVars('text', 'steadyadvice.net/?a=11&txt=world'));
В этом методе я также обработал, что если в каком-то экземпляре параметр отсутствует, то он возвращает неопределенный, что является плохой практикой кодирования. Поэтому, чтобы исправить это, мы сначала проверяем, присутствует ли конкретный параметр или нет. Если его нет, отправьте некоторое значение по умолчанию.
Таким образом, есть некоторые символы, которые не могут проходить через URL, например, предположим, что мы напишем пробел в ссылке и нажмем клавишу ввода, после чего пробел будет заменен кодом %20. Поэтому также важно кодировать и декодировать параметры URL-адреса. Для этого вы можете использовать следующие функции. В этих функциях вы должны передать строку URL-адреса.
Для декодирования используйте decodeURI(urlValue), а для кодирования используйте encodeURI(urlValue).
Прокомментируйте ниже, если вы знаете какой-либо другой способ извлечения параметров URL в javascript.