JavaScript: costruire una query HTTP

Una query HTTP è composta da una serie di coppie di parametri e valori separati dalla stringa &. PHP dispone già di una funzione per creare queste query. Vediamo come implementare una funzione simile in JavaScript.

La nostra funzione accetterà un oggetto letterale come parametro. I nomi delle proprietà di questo oggetto saranno i nostri parametri e il loro valore costituirà appunto il valore di tali parametri:


var httpBuildQuery = function(params) {

    if (typeof params === 'undefined' || typeof params !== 'object') {
        params = {};
        return params;
    }

    var query = '?';
    var index = 0;

    for (var i in params) {
        index++;
        var param = i;
        var value = params[i];
        if (index == 1) {
            query += param + '=' + value;
        } else {

            query += '&' + param + '=' + value;
        }

    }


    return query;


};

Esempio:


var build = document.getElementById('build');
var output = document.getElementById('output');

build.onclick = function() {

    var parameters = {
        a: 'foo',
        b: 1,
        c: 'test'
    };

    var $query = httpBuildQuery(parameters);
    output.firstChild.nodeValue = $query;
};​

Potete visionare l'esempio finale in questa pagina.

Torna su