Поделитесь скриптом для работы с GET параметрами из URL

Поделитесь пожалуйста скриптом для возможности брать из адресной строки браузера GET параметры, название товара, цену и его изображение, для использования на текущей странице.

Вот например кредитный калькулятор, он берет банные из основного сайта «stylus»:

https://stylus.ua/_form/credit/alfa?store_id=1&is_llc=f&ab_type=110&product_id=400364&product_name=iPhone%20%20iPhone%20XS%2064GB%20Gold&product_cost=20543&product_image=https://stylus.ua/thumbs/108x108/f6/f7/839775.jpeg&markup=&cat_name=iPhone&product_url=https://stylus.ua/apple-iphone-xs-64gb-gold-p400364c170.html

Информация из get параметров используется как для input так и в произвольных div.

Буду очень благодарен!


Ответы (2 шт):

Автор решения: Stepan Kasyanenko

Для этого можете воспользоваться интерфейсом URL.

const url = new URL(`https://stylus.ua/_form/credit/alfa?store_id=1&is_llc=f&ab_type=110&product_id=400364&product_name=iPhone%20%20iPhone%20XS%2064GB%20Gold&product_cost=20543&product_image=https://stylus.ua/thumbs/108x108/f6/f7/839775.jpeg&markup=&cat_name=iPhone&product_url=https://stylus.ua/apple-iphone-xs-64gb-gold-p400364c170.html`);

console.log(url.searchParams.get('product_id'));
console.log(url.searchParams.get('product_name'));
console.log(url.searchParams.get('product_url'));

→ Ссылка
Автор решения: Alex Ruban

Спасибо большое за ответ! Но задача стоит принимать данные динамически из адресной строки. Я думал использовать что то вроде этого:

function getParameterByName(name, url = window.location.href) {
    name = name.replace(/[\[\]]/g, '\\$&');
    var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, ' '));
}

// query string: ?product_id=112233&product_name=Product1&product_price=799

var product_id = getParameterByName('product_id'); // "112233"
var product_name = getParameterByName('product_name'); // "Product1"
var product_price = getParameterByName('product_price'); // "799"

Задумка в том что скрипт находится на странице и считывает GET параметры с URL, подставляя нужные значения в коде. Вопрос рабочий ли пример который написал выше? И Вопрос №2: как применять

→ Ссылка