Le querystring sono particolari intestazioni aggiunte all'indirizzo di una pagina Web, per mezzo di una determinata simbologia, attraverso cui è possibile recuperare dei parametri ed utilizzarne i valori in uno script.
La sintassi di una querystring è la seguente:
nomepagina.ext?parametro=valoreSi utilizza il carattere punto interrogativo (?) per separare il nome e l'estensione della pagina dall'inizio della querystring; è possibile anche aggiungere altri valori alla querystring, utilizzando il carattere e-commerciale (&) come segue
nomepagina.ext?parametro=valore&altro=valoreSi utilizza l'operatore di uguaglianza (=) per assegnare il valore al parametro, trattandolo a tutti gli effetti come una variabile.
Le querystring nascono come strumento lato server e non sono supportate nativamente da Javascript ne da VBScript lato client, ma esiste il comando location.search che restituisce, in formato String, l'intera querystring associata all'indirizzo di una pagina.
Create il file qs.html ed inserite uno script Javascript col seguente codice opportunamente commentato
// Recupero la querystring della pagina
var qs = location.search;
// Verifico che la pagina contenga una querystring
// ed in caso lancio la procedura di recupero dei dati,
// altrimenti avviso che non ci sono querystring definite
if (qs)
{
// Definisco le variabili da recuperare in querystring
var a, b, c;
// Recupero il valore delle tre variabili con semplici
// ma ingegnosi controlli a catena sulle stringhe
// dopo averle divise in array di stringa
// Recupero il valore di a
a = qs.split("?");
a = a[1].split("&");
a = a[0].substring(2);
// Recupero il valore di b
b = qs.split("&");
b = b[1].substring(2);
// Recupero il valore di c
c = qs.split("&");
c = c[2].substring(2);
// Controllo che le variabili siano state valorizzate
a == "" ? a = "Non definito" : a = a;
b == "" ? b = "Non definito" : b = b;
c == "" ? c = "Non definito" : c = c;
// Stampo a video i valori
with (document)
{
write("Valore di a = " + a + "<br>");
write("Valore di b = " + b + "<br>");
write("Valore di c = " + c + "<br>");
}
}
else
{
document.write("Nessuna querystring definita");
}
Il codice recupera le variabili a, b e c passate come parametri in querystring e ne stampa a video i valori. Provate quindi a lanciare il file qs.html nel vostro browser associandogli una stringa di interrogazione come segue
qs.html?a=10&b=30&c=60Il risultato sarà
Valore di a = 10 Valore di b = 30 Valore di c = 60Se invece lanciate il file senza specificare le querystring riceverete
Nessuna querystring definitaAggiornamento del 23/06/09
In tema di gestione delle querystring con Javascript segnaliamo un nuovo articolo in cui viene descritta una utilissima funzione per il recupero dei dati passati col metodo GET.
| Corso AJAX Applicazioni Web 2.0 basate su AJAX con ASP, ASP.NET e PHP. A partire da 39 €. | |
| Corso CSS Web Design ed Accessibilità secondo il W3C con CSS ed XHTML. A partire da 29 €. | |
| Corso Javascript Guida completa allo scripting lato client. A partire da 39 €. |