JavaScript получить значение параметра строки запроса - PullRequest
0 голосов
/ 04 декабря 2018

Я не могу найти решение для сплиттера 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

Часть, которую я хочу изолировать, это идентификатор модели, модель = 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);

У вас есть идея?Экспертиза в?

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

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

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

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

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

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

0 голосов
/ 04 декабря 2018

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

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.log(model);

РЕДАКТИРОВАТЬ:

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

...