Leggere un parametro in QueryString da JavaScript
In JavaScript è disponibile l'oggetto URLSearchParams che permette di accedere a i parametri in querystring
E' possibile elencare tutti i valori presenti in querystring con questo JavaScript
che con una url come questa
da come risultato
da usare con
JavaScript
const params = new URLSearchParams(document.location.search);
const idMaster = Number(params.get("idMaster"));
Attenzione: il parametro in querystring è case sensitive
E' possibile elencare tutti i valori presenti in querystring con questo JavaScript
JavaScript
for (const [key, value] of params.entries()) {
console.log(`${key}, ${value}`);
}
URL
?idMaster=10&filter=false
Text: Risultato
idMaster, 10
filter, false
Case insensitive
Versione case insensitiveJavaScript
URLSearchParams.prototype.getInsensitive = function(name) {
const n = name.toLowerCase();
for (const key of this.keys()) {
if(n === key.toLowerCase()) {
return this.get(key);
}
}
return undefined;
};
JavaScript
params.getInsensitive("idmaster")[tag]TypeScript[/tag]
// result: '10'
Typescript insesitive
Questo è un esempio TypeScript per leggere un parametro in querystring in modalità case insensitiveTypeScript
export const getQuerystring = (name: string): string => {
const params = new URLSearchParams(window.location.search);
let result = undefined;
const n = name.toLowerCase();
params.forEach((value, key) => {
if (n === key.toLowerCase()) {
result = value;
return;
}
});
return result;
};