Link sponsorizzati

Gestione delle Querystring lato Client

Articolo scritto da Luca Ruggiero

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=valore
Si 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=valore
Si 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.

(L'articolo continua più sotto...)

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=60
Il risultato sarà
Valore di a = 10
Valore di b = 30
Valore di c = 60
Se invece lanciate il file senza specificare le querystring riceverete
Nessuna querystring definita
Aggiornamento 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.

Nella stessa categoria...
E-Learning
Corso AJAXCorso AJAX
Applicazioni Web 2.0 basate su AJAX con ASP, ASP.NET e PHP. A partire da 39 €.
Corso CSSCorso CSS
Web Design ed Accessibilità secondo il W3C con CSS ed XHTML. A partire da 29 €.
Corso JavascriptCorso Javascript
Guida completa allo scripting lato client. A partire da 39 €.
Link sponsorizzati