Как получить параметры url в виде объекта javascript?

Пользователь

от cooper.berge , в категории: JavaScript , 2 года назад

Как получить параметры url в виде объекта javascript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от leila.dickinson , 2 года назад

@cooper.berge 

Для получения параметров URL в виде объекта JavaScript можно использовать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
function getParams(url) {
  const params = {};
  if (url.indexOf('?') === -1) {
    return params;
  }

  const query = url.split('?')[1];
  const pairs = query.split('&');
  pairs.forEach((pair) => {
    const [key, value] = pair.split('=');
    params[key] = decodeURIComponent(value);
  });

  return params;
}

// пример использования
const url = 'https://example.com/?foo=bar&baz=qux';
const params = getParams(url);
console.log(params); // { foo: 'bar', baz: 'qux' }


Эта функция разбивает URL на части, извлекает параметры, декодирует их значения и возвращает объект с параметрами и их значениями.

Пользователь

от enid , 8 месяцев назад

@cooper.berge 

Для более надежного и удобного получения параметров URL в виде объекта JavaScript, рекомендуется использовать объект URL и его метод searchParams. Вот как это можно сделать:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
function getParams(url) {
  const urlObj = new URL(url);
  const params = {};
  for (const [key, value] of urlObj.searchParams) {
    params[key] = value;
  }
  return params;
}

// пример использования
const url = 'https://example.com/?foo=bar&baz=qux';
const params = getParams(url);
console.log(params); // { foo: 'bar', baz: 'qux' }


Этот подход позволяет избежать ручного разбора строки запроса URL и упрощает получение и работы с параметрами.