Javascript URL参数分离

Javascript URL参数分离,javascript,salesforce-lightning,Javascript,Salesforce Lightning,如何使用“searchParams”以获取多个URL参数,这些参数由“&”分隔,参数字符串中也包含“&” 例如,我有一个URL: https:******.com?selectedCategory=现金%2支票+%26+杂项%26交易类型%3借记 使用以下代码: let pageURL = new URL(decodeURIComponent(document.URL)); const urlParams = pageURL.searchParams; let selectedCategoryN

如何使用“searchParams”以获取多个URL参数,这些参数由“&”分隔,参数字符串中也包含“&”

例如,我有一个URL: https:******.com?selectedCategory=现金%2支票+%26+杂项%26交易类型%3借记

使用以下代码:

let pageURL = new URL(decodeURIComponent(document.URL));
const urlParams = pageURL.searchParams;
let selectedCategoryName = urlParams.get('selectedCategory');
let categoryTransType = urlParams.get('transactionType');
console.log(selectedCategoryName);
console.log(categoryTransType);

selectedCategoryName返回现金、支票而不是现金、支票和杂项

如果要保持URL不变,可以在访问category参数后解码交易类型。我使用了一个look-behind正则表达式来拆分前面带有非空格的
&
字符。在我有了我的标记之后,我可以将结果列表中的“头”移开,然后将其余的标记转换成一个对象

const url=新url('https://google.com?selectedCategory=Cash%2CCheques+%26+杂项%26交易类型%3dDebit');
const selectedCategory=url.searchParams.get('selectedCategory');
const tokens=selectedCategory.split(/(?pair.split('='));
控制台日志(头);//现金、支票和杂项

console.log(rest.transactionType);//借记卡
非常感谢!