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" }.