Node.js: gestire i parametri degli URL

Node.js: gestire i parametri degli URL

Node.js ci permette di leggere con estrema facilità i parametri GET passati attraverso un URL. Questa estrema semplicità si concretizza in un utilizzo immediato di questa caratteristica.

Per sfruttare questa caratteristica di Node dobbiamo creare un server che intercetti le richieste dei client. La prima cosa da fare è includere i moduli http e url:


var http = require('http'),
    url = require('url');

Quindi creiamo il server, in ascolto sulla porta 8080:


http.createServer(function (request, response) { 
   // qui la gestione della richiesta e della risposta
   // ...
}).listen(8080);

Node è event-driven, quindi il prossimo passo è intercettare la fine della richiesta tramite l'evento end:


//...
request.on('end', function() {
	// gestione della richiesta
	// ...
});

Quindi usiamo il metodo parse() del modulo url per estrarre i dati della richiesta sotto forma di un oggetto:


var $get = url.parse(request.url, true).query;
// ...

Ora abbiamo l'intera query string sotto forma di oggetto a cui possiamo accedere:


//...
response.writeHead(200, { // status HTTP 200 come header 
         'Content-Type': 'text/html'
}); 
// Inviamo i dati e chiudiamo la risposta 
response.end('I tuoi dati: ' + $get['data']);

Quindi digitando alla console:


node get.js

e utilizzando ad esempio l'URL http://localhost:8080?data=Test vedremo il risultato.

Torna su