JavaScript получить значение параметра строки запроса

Я не могу найти никакого JS-разделителя для получения одного параметра в этом URL-адресе. https://www.test.be/fr_BE/home/forms/test-test-salon.html?configId=f4q8s9z1&ucpBaseurl=https%253A%252F%252Ftest.client.ucp.cloud&model=F56&motorization=Diesel

Часть, которую я хочу изолировать, - это идентификатор модели, model = F56, в данном случае я хочу выделить "F56".

Я безуспешно пробовал этот сценарий:

var srcID = "11111"; // Insert your src ID here
var typeID = "11111"; // Insert your type ID here
var category = "m1111"; // Insert your category value here
var axel = Math.random() + ""; var a = axel * 10000000000000;

// Grab Data Layer
var dataLayerApi = digital.tracking.getInstance(dataLayer);
var digitalData = dataLayerApi.getPageObject((window.minidtm.actPageId     !== undefined) ?  window.minidtm.actPageId  : dataLayerApi.getCurrentPageIndex());

var path = document.location.pathname;
var pathHirarchy = path.split("&");

if (path.match("/fr_BE/home/forms/.*/.*") != null) {
            // Get Model Info
            var u1 =  pathHirarchy[1] //U1 - Produit
            var u2 =  pathHirarchy[5].split(".")[0] //U2 - Sous Produit
}
else {

 var u1 = "notApplicable";
 var u2 = "notApplicable";
}

var DCtag = document.createElement("iframe");
DCtag.src = "https://" + srcID + ".fls.test.net/activityi;src = " + srcID + ";type = " + typeID + ";cat = " + category +
        ";u1 = " + u1 +";u2 = " + u2 + ";dc_lat=;dc_rdid=;    tag_for_child_directed_treatment=;ord=1;num = " + a;
DCtag.width = "1"; DCtag.heigth = "1"; DCtag.frameborder = "0"; DCtag.style =    "display:none"; DCtag.async = true;
document.body.appendChild(DCtag);

У тебя есть идея? Экспериментируйте?

Большое спасибо! Людо

new URLSearchParams(document.location.search).get('model')
Thomas 04.12.2018 18:19
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
4 515
2

Ответы 2

Вы можете использовать регулярное выражение:

const url = 'https://www.test.be/fr_BE/home/forms/test-test-salon.html?configId=f4q8s9z1&ucpBaseurl=https%253A%252F%252Ftest.client.ucp.cloud&model=F56&motorization=Diesel';

const result = url.match(/model=(.*?)&/);
const model = result[1];

console.info(model);

Обновлено:

Я оставлю этот ответ здесь, но ответ bflemi3 лучше.

Вы можете использовать URLSearchParams

const params = new URLSearchParams(window.location.search);
const model = params.get('model');

Если model отсутствует в строке запроса, params.get('model') вернет null.

Для получения дополнительной информации о URLSearchParams.get см. Документация MDN

В вопросе не указывалось, в каких браузерах он должен работать, но его недостаток заключается в том, что даже сейчас он не поддерживается последней версией MSIE: caniuse.com/#search=URLSearchParams

Mark B 12.09.2019 15:31

Другие вопросы по теме