JavaScript获取查询字符串参数的值

时间:2018-12-04 17:15:33

标签: javascript url split location

我找不到任何拆分器解决方案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

我要隔离的部分是模型ID,模型= 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 :(得分:1)

您可以使用正则表达式:

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的答案更好。

答案 1 :(得分:1)

您可以使用URLSearchParams

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

如果查询字符串中没有modelparams.get('model')将返回null。

有关URLSearchParams.get的更多信息,请参见MDN documentation