JavaScript: build an HTTP query string

by gabrieleromanato

HTML

<button id="build">Build query</button>
<p id="output">&nbsp;</p>

JavaScript

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;


};


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;
};