Una query string in JavaScript viene gestita dalla proprietà search
dell'oggetto BOM location
. Tramite questa proprietà possiamo gestire le query string con facilità.
Possiamo definire la seguente funzione di utility:
function getQueryString() {
var data = {};
var query = location.search;
if( query ) {
var q = query.replace( "?", "" );
if( query.indexOf( "&" ) == -1 ) {
var parts = q.split( "=" );
var name = parts[0];
var value = parts[1];
data[name] = value;
} else {
var parts = q.split( "&" );
for( var i = 0; i < parts.length; ++i ) {
var part = parts[i];
var values = part.split( "=" );
var name = values[0];
var value = values[1];
data[name] = value;
}
}
}
return data;
}
La funzione trasforma una query string come ?foo=1&bar=baz
in { foo: 1, bar: "baz" }
.