Поделитесь скриптом для работы с GET параметрами из URL
Поделитесь пожалуйста скриптом для возможности брать из адресной строки браузера GET параметры, название товара, цену и его изображение, для использования на текущей странице.
Вот например кредитный калькулятор, он берет банные из основного сайта «stylus»:
Информация из get параметров используется как для input так и в произвольных div.
Буду очень благодарен!
Ответы (2 шт):
Для этого можете воспользоваться интерфейсом 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'));
Спасибо большое за ответ! Но задача стоит принимать данные динамически из адресной строки. Я думал использовать что то вроде этого:
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: как применять