Qualche giorno fa ho avuto la necessità di leggere un url e ottenere il valore di una variabile passata in URL, con un metodo GET (che in PHP è presente attraverso l’uso della variabile $_GET). E completare dunque un’azione a seconda del valore del parametro passato via url. Mi sono imbattuto così in questo piccolo pezzo di codice, che oggi condivido con voi. Esso permette di salvare tutti i parametri passati da un URL (del genere pubblicato qua sotto tra virgolette) in un array associativo.

https://hackerstribe.com/index.php?id=123&page=home

Tutto ciò di cui abbiamo bisogno per ottenere i valori del parametro id e page è:

var first = getUrlVars()["id"];
var second = getUrlVars()["page"];
 
alert(first);
alert(second);

Che fa riferimento a questo codice:

function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
        vars[key] = value;
    });
    return vars;
}