Aree Didattiche
Web FacileLinguaggi del WebLinguaggi EstensibiliGraficaProgrammazioneDatabaseWeb ServerSistemi OperativiNetworkingMobileBusiness
Aree Download
Software Script Flash Movies Sound Loops Templates Web Grafica Font

 

Sei un Webmaster? Iscriviti alla newsletter...

Usare Javascript per recuperare i dati passati col metodo GET

Articolo scritto da Max Bossi il 24/06/2009
Javascript non dispone di una funzione nativa per recuperare i valori trasmessi mediante i form, tuttavia, con un pizzico di fantasia e buona volontà, è possibile provvedere autonomamente con funzioni create ad hoc.

In un vecchio articolo abbiamo già affrontato l'argomento al semplice scopo di dimostrare come fosse possibile recuperare dei determinati valori da una querystring. In realtà l'articolo citato offriva un esempio puramente didattico e dal difficile impiego pratico.

Di seguito, pertranto, ritengo possa essere piuttosto interessante descrivere una funzione universale per recuperare valori passati col metodo GET ad una semplice pagina HTML (quindi senza l'ausilio di linguaggi di scripting lato server). Per farlo avremo bisogno, prima di tutto, di includere nel codice sorgente della pagina una funzione specifica:
<script type="text/javascript">
function parseGetVars()
{
  // creo una array
  var args = new Array();
  // individuo la query (cioè tutto quello che sta a destra del ?)
  // per farlo uso il metodo substring della proprietà search
  // dell'oggetto location
  var query = window.location.search.substring(1);
  // se c'è una querystring procedo alla sua analisi
  if (query)
  {
    // divido la querystring in blocchi sulla base del carattere &
    // (il carattere & è usato per concatenare i diversi parametri della URL)
    var strList = query.split('&');
    // faccio un ciclo per leggere i blocchi individuati nella querystring
    for(str in strList)
    {
      // divido ogni blocco mediante il simbolo uguale
      // (uguale è usato per l'assegnazione del valore)
      var parts = strList[str].split('=');
      // inserisco nella array args l'accoppiata nome = valore di ciascun
      // parametro presente nella querystring
      args[unescape(parts[0])] = unescape(parts[1]);
    }
  }
  return args;
}</script>
La funzione qui sopra (ampiamente commentata) può essere utilizzata in questo modo:
<script type="text/javascript">
// Recupero i valori passati con GET
// Per farlo creo una variabile cui assegno come valore
// il risultato della funzione vista in precedenza
var get = parseGetVars();

// estraggo dall'array contenente i valori della querystring
// il valore del parametro "sito"
var sito = get['sito'];

// stampo a video
document.write(sito);
</script>
Ora non ci resta che testare il nostro lavoro. Per farlo chiamiamo la nostra pagina HTML avendo cura di passare il parametro "sito" nella querystring.
Supponiamo quindi di digitare nel nostro browser una URL simile a questa:
http://www.sito.com/esempio.html?sito=mrwebmaaster&autore=maxbossi
Nel nostro caso l'output prodotto sarà:
mrwebmaster


Versione di Stampa

Segnala ad un Amico!

Aggiungi ai Preferiti

RSS

Corsi online ed Ebook
CSS (Corso)CSS (Corso)
Web Design ed Accessibilità secondo il W3C con CSS ed XHTML. A partire da 29 €.
HTML (Corso)HTML (Corso)
Il linguaggio di marcatura per il Web. A partire da 29 €.
Javascript (Corso)Javascript (Corso)
Guida completa allo scripting lato client. A partire da 39 €.

 


© 2003 - 2010 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122